无限滚动脚本无法在标记页面上工作? [ 石工 ]

时间:2014-03-30 00:55:48

标签: blogs tumblr jquery-masonry infinite-scroll

所以,基本上,我正在制作我的第一个Tumblr主题:teenaqe-vow.tumblr.com,到目前为止一切都很好,但是无限滚动代码除外。会发生什么事情才能完全正常,直到你进入像这样的标记页面。 http://teenaqe-vow.tumblr.com/tagged/music当您向下滚动而不是加载已标记页面的下一页时,它会从索引页面加载页面。我使用的脚本将帖子全部保持在一起并呈现无限滚动,如果没有它,帖子中就会有间隙,而且效果不好。

我对这件事情真的很新,所以我有点不知道如何修复它。如果我提供的任何信息不充分,我深表歉意,如果您需要更多信息,请告诉我。

以下是整个主题代码:http://pastebin.com/X8DaLKPG

这是无限滚动/砌体部分:

{block:IndexPage}{block:IfTwoColumn}
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

{block:IfInfiniteScroll}
<div id="pagination"><a href="/page/2"></a></div>
<script src="http://static.tumblr.com/6hsqxdt/vmwm2rb4g/infinitescrolling.js"></script>
{/block:IfInfiniteScroll}

<script src="http://static.tumblr.com/6hsqxdt/QBym35odk/jquery.masonry.js"></script>

<script>
$(function(){
var $container = $('#content');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: '#entry',
});
});
$container.infinitescroll({
itemSelector : "#entry",
navSelector : "#pagination",
nextSelector : "#pagination a",
loadingImg : "http://media.tumblr.com/ec1742dbca16ca94b47814f1de4e37e6/tumblr_inline_mj8pf7Te3l1qz4rgp.png",
loadingText : "<em></em>",
bufferPx : 10000,
extraScrollPx: 12000,
},
// trigger Masonry as a callback
function( newElements ) {
  var $newElems = $( newElements ).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function(){
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
}
);
});
</script>
{/block:IfTwoColumn}{/block:IndexPage}

2 个答案:

答案 0 :(得分:0)

您的分页链接已在主页面上修复(它始终指向user.tumblr.com/page/2/)。改为使用Tumblr API分页工具。

答案 1 :(得分:0)

我在Tumblr上遇到过同样的问题并且终于解决了,所以我想我会分享我的错误和解决方案,希望它能帮助初学者,比如我自己:)

这就是我必须首先引起的问题:

<div class="pagination"><span id="page_nav"><span onclick='return false;'><a style="float:right;opacity:1;" href="/page/2" id="next"></a></div> 

这是我的决议:

<div class="pagination"><span id="page_nav"><span onclick='return false;'><a style="float:right;opacity:1;" {block:NextPage}href={NextPage} id="next" {/block:NextPage}></a></div>

您会注意到对href属性进行了唯一的更改。当您将其设置为/ page / 2时,它会告诉标记页面显示索引页面中的第2页,因为它缺少URL中标记的名称。当您为下一页({block:NextPage})和下一页URL({NextPage})添加Tumblr的分页块标记时,它将能够解读您是否从索引页面开始或标记页面,然后能够自己填写URL中的空白。我希望这有帮助!