JQuery не работает с бесконечной прокруткой и кладкой - PullRequest
0 голосов
/ 28 февраля 2012

Базовая настройка - это серия элементов div, которые содержат дополнительную информацию, которая скользит вниз при нажатии на ссылку. Прекрасно работает для первой страницы элементов, но любые дополнительные элементы отображаются со скрытым отображением div и переключающей ссылкой js не работает.

$(".hidden_info").hide();
$(".toggle_link").click(function(event) {
    event.preventDefault();
  $(this).closest(".item").find(".hidden_info").slideToggle("slow");
});

var $container = $('#content');

$container.imagesLoaded(function(){
  $container.masonry({
    itemSelector: '.item'
  });
});

$container.infinitescroll({
navSelector  : "div.navigation",
nextSelector : "div.navigation a:first",
itemSelector : "#content div.item",
    loading: {
                        msgText  : "Loading new products...",
              finishedMsg: 'No more products to load.',
            }
},
function( newElements ) {
var $newElems = $( newElements ).css({ opacity: 0 });
$newElems.imagesLoaded(function(){
  $newElems.animate({ opacity: 1 });
  $container.masonry( 'appended', $newElems, true ); 
});
});

-edit- Хорошо, у меня есть аспект переключения, работающий с использованием метода .on. Новый код выглядит так:

$(document).on("click", ".toggle_link", function(event) {
    event.preventDefault();
  $(this).closest(".item").find(".hidden_info").slideToggle("slow");
});

Но материал с шкурами не работает правильно. Я могу просто переключить то, что скрыто, чтобы содержимое, показанное выше, показывалось по умолчанию.

1 Ответ

0 голосов
/ 02 марта 2012

Таким образом, переключение вокруг того, что абсолютно и относительно позиционировано, не было хорошим вариантом из-за динамической высоты элементов.Таким образом, я пошел с помещением встроенного стиля показа: ни один на скрытых div.Не мой любимый выбор из-за доступности для людей, не использующих JavaScript.Но это работает.

...