Это, по-видимому, общая проблема, которую многие люди и, похоже, могут исправить, но в моем случае ни одно из решений, похоже, не работает для меня.Масонство Бесконечная прокрутка перекрывающихся divs
Страница загружается идеально, но перекрытие происходит при прокрутке и добавлении большего количества кирпичей. Кроме того, это происходит, только когда я впервые попал на страницу. Если я обновляюсь после того, как все уже загружено, при прокрутке нет перекрытия. Я думал, что imagesLoaded должен был обрабатывать это, но не работать atm. Не знаю, где я ошибся.
Для справки, вот страница, на которой я имею вопрос: http://isaacprice.me/blog/
Вот что мой код выглядит сейчас:
<script>
jQuery(function($) {
var $container = $('#all_posts');
$container.imagesLoaded(function() {
var $msnry = $container.masonry({
columnWidth: 240,
gutter: 20,
itemSelector: '.item',
"isFitWidth": true
});
});
$container.infinitescroll(
// trigger Masonry as a callback
function(newElements) {
// hide new items while they are loading
var $newElems = $(newElements).hide();
// ensure that images load before adding to masonry layout
//$newElems.imagesLoaded(function(){
// show elems now they're ready
$msnry.append($newElems).delay(500).imagesLoaded(function() {
$newElems.fadeIn();
$container.isotope('appended', $newElems);
//$msnry.append($newElems).masonry('appended', $newElems, true);
//$container.masonry('appended', $newElems, true);
});
//});
}
);
});
</script>
Как вы можете видеть из строк я закомментированные Я попробовал несколько вариантов, чтобы элементы перекрывались. Не повезло. Я получаю такую же точную проблему каждый раз, когда я пытался написать это.
Любая помощь будет очень оценена.
Спасибо за ответ @Macsupport. К сожалению, я уже пробовал это с той же целью. Фактически, вы можете видеть в комментариях строки под вызовом $ container.isotope(), где я уже пробовал это. Когда я прокомментирую строку: $ container.isotope ('appended', $ newElems); и раскомментируйте строку: $ container.masonry ('appended', $ newElems, true); Я все равно получаю тот же результат. – codeguerrilla
Их нельзя использовать взаимозаменяемо. У вас есть masonry.js на вашем сайте, поэтому вам нужно использовать это, а не изотопные вызовы. Кроме того, у вас есть другой загруженный код, masonry-isotope.js, который необходимо загрузить после кладки, а не раньше. Вам нужно показать больше кода. Сделайте jsfiddle. – Macsupport
Забудьте, что я даже использовал вызов isotope(). Первоначально это никогда не было частью моего кода. Как я уже сказал, он вообще не работает даже при использовании $ container.masonry() вместо $ container.isotope(); Я сделаю скрипку, когда у меня будет время, но я бы не подумал, что это проблема здесь. Кроме того, это все мой код. Какой еще код вам нужен? HTML? Я также связался со страницей в Интернете, где у меня возникла проблема. весь код тоже есть. Спасибо за вашу помощь. – codeguerrilla