2013-02-25 2 views
0

Я застрял и действительно нуждаюсь в помощи! У меня есть макет кирпичей, которые я использую изотоп jquery для макета. Существуют три кирпичных размера: квадратные, двухсторонние и двухквартирные, поэтому они идеально вписываются в место. То, что мне нужно сделать, - открыть ящик под кирпичом, когда вы нажмете его, и нажимать на любой кирпич ниже, насколько это необходимо для высоты ящика. Вот макет, чтобы объяснить, что я пытаюсь сделать:Изотоп с ящиками

Bricks with Drawer http://bdub.ca/bricks_drawer.jpg

В этом примере оранжевый кирпич кликнули и выдвижной ящик открывается на следующей линии разрыва, который после красного кирпича. Ящик всегда будет полушириной, как в макете.

Любые идеи? Я в недоумении, поэтому любые советы будут высоко оценены!

+0

Не могли бы вы собрать скрипку того, что у вас есть до сих пор? Было бы проще посмотреть. – dev

+0

Связаны ли оранжевые и красные кирпичи? Если нет, то я не знаю, что у вас есть контроль над тем, что появляется ниже. Вы можете вставить, но только влево или вправо. изотоп определит, что ему нужно обернуть –

+0

Моя единственная идея - расширить высоту и ширину оранжевого кирпича и вызвать «relowout» - http://isotope.metafizzy.co/docs/methods.html#relayout –

ответ

0

Решение предложил Джейсон Sperske:

http://jsfiddle.net/thomasNDS/5fNe9/2/

В этом примере расширить размер блока по щелчку и relayout других.

  $items.click(function(){ // $items regroup all item display 
      var $this = $(this); 
      // nothing to change if this already has large class 
      if ($this.hasClass('large')) { 
       $this.removeClass('large'); 
      }else{ 
       var $previousLargeItem = $items.filter('.large'); 
       $previousLargeItem.removeClass('large'); 
       $this.addClass('large'); 
      } 
      $container.isotope('reLayout'); 
      }); 

Вы можете настроить этот код в своем примере на 3 разных размера блоков.

Смежные вопросы