最近,我在尝试用砌体在tumblr上设置无限滚动时遇到了一些问题。我找到了一些代码,并且在演示网站上可以正常运行:http://www.jquery4u.com/demos/infinite-scrolling-demo1/但是在我的tumblr上,仅砌体部分有效,而无限滚动部分则无效。这是我的Javascript:

<script>
  $(function(){

    var $container = $('SECTION');

    $container.imagesLoaded(function () {
            $container.masonry({
                itemSelector: '.item',
                columnWidth: '.item',
                isFitWidth: true
            });
        });

    $container.infinitescroll({
      navSelector  : '#page-nav',    // selector for the paged navigation
      nextSelector : '#nextPage',  // selector for the NEXT link (to page 2)
      itemSelector : '.item',     // selector for all items you'll retrieve
      loading: {
          finishedMsg: 'No more pages to load.',
          img: 'http://i.imgur.com/6RMhx.gif'
        }
      },
      // 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 });
          msnry.appended( $newElems );
        });
      }
    );
  });
</script>


这是下一页链接的html:

{block:Pagination}
<nav id="page-nav">
    {block:NextPage}
        <a style="color:red;" id="nextPage" href="{NextPage}">Next</a>
    {/block:NextPage}
</nav>
{/block:Pagination}


我已经链接了Masonry,ImageLoaded和Infinite Scrolling脚本。就像我说的那样,砌体效果很好,但无限滚动似乎根本无济于事。由于我已经测试了下一个链接,所以它也可以正常工作,确实可以将我带到下一页。但是无限滚动仍然没有任何作用。如果有人可以帮助您,将不胜感激,或者如果您有任何其他建议或替代方案,那也很好。

最佳答案

没有演示链接很难说,但请看一下您用作参考的示例:

msnry.appended( $newElems );


应该出现一个错误,提示undefined。这是由于msnry.appended引起的。

该行应为:

$container.masonry( 'appended', $newElems, true );


资料来源:http://www.jquery4u.com/demos/infinite-scrolling-demo1/

关于javascript - 如何用砖石设置无限滚动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21540963/

10-12 15:37