Infinite Scroll으로 Masonry를 설정하려고하는데 작동하지만 현재 모든 항목을로드 한 다음 다음 페이지 링크를 클릭하면 모든 항목을 다시로드합니다.
아닙니다 :
<div class="more" id="navigation">
<a href="./?page=2">MORE IDEAS</a>
</div>
JS :
$(document).ready( function() {
(function() {
// Main content container
var $container = $('.grid');
// Masonry + ImagesLoaded
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer',
percentPosition: true
});
});
// Infinite Scroll
$container.infinitescroll({
// selector for the paged navigation (it will be hidden)
navSelector : "#navigation",
// selector for the NEXT link (to page 2)
nextSelector : "#navigation a",
// selector for all items you'll retrieve
itemSelector : ".grid-item",
},
// Trigger Masonry as a callback
function( newElements ) {
// hide new items while they are loading
var $newElems = $( newElements ).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function(){
// show elems now they're ready
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
});
// Pause Infinite Scroll
$(window).unbind('.infscr');
// Resume Infinite Scroll
$('.more a').click(function(){
$container.infinitescroll('retrieve');
return false;
});
})();
});
함유량:
<div class="grid">
<div class="grid-sizer"></div>
<div class="gutter-sizer"></div>
<div class="grid-item">Item 1</div>
<div class="grid-item">Item 2</div>
<div class="grid-item">Item 3</div>
<div class="grid-item">Item 4</div>
<div class="grid-item">Item 5</div>
<div class="grid-item">Item 6</div>
</div>
현재 1 ~ 6 개의 모든 항목을로드 한 다음 더로드 버튼을 클릭하면 항목 1 ~ 6을 다시로드합니다. 나는 이것과 유사한 몇 가지 다른 질문을 보았지만 상황이 다릅니다. 아마도 간단한 것일 수 있으며, 어떤 도움을 주시면 감사하겠습니다.
그것을 알아 냈습니다.
두 번째로로드하려는 콘텐츠의 일부를 가져 와서 다른 html 페이지에 넣어야합니다. 그런 다음 해당 페이지로 이동하려면 탐색 링크를 설정해야합니다. ? page = 2로 설정되었으므로 동일한 페이지를 다시로드하는 중이었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다