Я работаю над сайтом WordPress, который использует плагин jQuery Masonry от David DeSandro вместе с плагином Infinite Scroll от Paul Irish.есть плагин обратного вызова для Infinite Scroll для вызова Masonry.Masonry предоставил 2 примера этой функции:
$('#secondary').masonry({ appendedContent: $(this) });
или
$(this).masonry({ appendedContent: $( newElements ) });
Но я сталкиваюсь со странной проблемой их использования.Все работает отлично, за исключением того, что каждый раз при получении следующих постов появляется много пустого пространства перед первым постом.Мне кажется, это пространство имеет ту же высоту, что и страница «1».это код:
var $wall = jQuery('#secondary');
$wall.masonry({ singleMode: true,
itemSelector: '.box:visible'
});
, и я попробовал различные функции для опции обратного вызова Infinte Scroll:
$('#secondary').masonry({ appendedContent: $(this) });
или
$(this).masonry({ appendedContent: $( newElements ) });
с первым кодом обратного вызова Iполучить пустое место и со вторым кодом обратного вызова, Masonry разрывается с обратным вызовом и вторая страница приходит поверх первой.Скрипт выдает мне ошибку: newelements как «неопределенный элемент».
Я хочу знать, что плохого в том, что масонство выравнивает все поля на второй странице, а не на первой.Мне кажется, он добавляет элементы первой страницы к новым вместо добавления новых элементов к текущим.
, но я не могу найти источник проблемы.
Не могли бы вы помочь мнерешить проблему.
Ссылка на масонство: http://github.com/desandro/masonry/raw/master/jquery.masonry.js
Бесконечная прокрутка также на github.
Спасибо!
Редакция: полный бесконечный код:
<script type="text/javascript">
(window.INFSCR_jQ ? jQuery.noConflict() : jQuery)(function($){
// Infinite Scroll jQuery+Wordpress plugin
$('#secondary').infinitescroll({
debug : false,
nextSelector : "div.navigation a:first",
loadingImg : "/infinite-scroll/ajax-loader.gif",
navSelector : "div.navigation",
contentSelector : "#secondary",
itemSelector : "div.box"
},function(){
Cufon.replace('li');
Cufon.replace('h1');
$('#secondary').masonry({ appendedContent: $(this) });
});
});
</script>