无限滚动+砌体加载所有项目

Infinite Scroll + Masonry loading all items

本文关键字:项目 加载 滚动 无限      更新时间:2023-09-26

我试图设置砌体无限滚动,它的工作,但它目前加载所有项目,然后当我点击下一页链接,它再次加载它们。

导航:

<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,然后当我点击Load More按钮时,它再次加载项目1到6。我看了其他几个类似的问题,但它们是不同的情况。这可能是一些简单的事情,任何帮助将是非常感激的。

明白了。

你需要把你想要加载的内容的一部分放到另一个html页面中。然后,您需要设置导航链接以转到该页面。因为它刚刚被设置为?page=2,它只是再次加载相同的页面