2012-11-10 5 views
3

В настоящее время я испытываю раздражающую ошибку с плагином jQuery Masonry. Вот сделка: я хочу сделать страницу с двумя столбцами FAQ, где я плаваю divs с кладкой. Внутри этого div находится h3-тег, который вызывает событие slideToggle и расширяет скрытый div (div.answer). Проблема в том, что если я нажму h3-tag и активирую событие, div.answer расширится, но накладывает div ниже на несколько секунд, пока не достигнет конечной и правильной позиции.jQuery Масонство перекрывает divs на событии slideToggle

Вот сценарий для события slideToggle: (как вы можете видеть, я уже пытался вспомнить функцию кладки на нескольких позициях внутри сценария, но оно не решает проблему)

$(document).ready(function() { 
      $('.answer').hide(); 
      $('#container').masonry(); 
      $('.show').click(function() { 
       imgelem = $(this); 
       $(this).parent().next().stop().slideToggle("slow", function() { 
        $('#container').masonry('reload'); 
        if ($(this).css("display") == "none") { 

         imgelem.attr("src", "images/expand.png"); 
        } 
        else { 
         imgelem.attr("src", "images/collapse.png"); 
        } 
       }); 
        $('#container').masonry(); 
      }); 
      $('#container').masonry('reload'); 
     }); 

Здесь вы видите проблему: http://jsfiddle.net/2huZd/3/

Я надеюсь, что кто-то может мне помочь!

Редактировать: никто не может решить эту проблему? :(

ответ

0

У меня была такая же проблема с другим плагином masonr (shapeshift). Дело в том, что событие обратного вызова slideToggle запускается только после того, как эффект слайда полностью готов. Нет (i havn ' t найдено по крайней мере) любое событие «во время», которое будет повторно инициализировать кладку на каждом шаге скольжения.

Единственное решение, которое я нашел, заключается в замене эффекта скольжения переключателем show/hide. Досадный эффект перекрытия ящиков выиграл '

1

Вы можете использовать опцию step на функции slideToggle() и рассказать, каменная кладка, чтобы пересчитать позиции на каждом шаге ... но может быть слишком много информации для обработки, если у вас слишком много элементов в вашей сетке.

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

  • Нет связанных вопросов^_^