nextSelector无限滚动更新
我在我的页面上有2个标签,每个标签有infinite-scroll不同的内容。 当标签切换的功能被称为像这样:nextSelector无限滚动更新
function callInfScroll(newlink){
var $container = '#main';
$('#page-nav').find('a').attr('href',newlink);
$container.load(newlink, function(){
$container.infinitescroll({
loading: {
finishedMsg: "This is it"
},
navSelector : '#page-nav',
// selector for the paged navigation
nextSelector : '#page-nav a',
// selector for the NEXT link (to page 2)
itemSelector : '.item',
// selector for all items you'll retrieve
errorCallback: function(){
$('#page-nav').html("Congratulations! You have reached the end of internet.");
$('#page-nav').css({display: 'block'});
}
});
});
}
的问题是,即使的#page-nav a
值是变化的,变化不是无限滚动反映其仍然采取旧值第一个标签。
编辑: 我的HTML:
<div id="main-container" class="span8">
<div id="main">
</div>
<div id="page-nav">
<a href=""></a>
</div>
</div>
很难说没有页面进行实验,但是......
除非您从第一标签中的内容,它看起来你最后会在页面上有多个元素(“#page-nav
”),这在CSS中是非法的。你可能会发现jQuery只是返回第一个。您可以考虑使用基于类的解决方案而不是ID。
我知道这已经很长时间了,因为你有这个问题。但是我今天也遇到了同样的问题,而且要经过它才花了一段时间。但我终于做到了。
该插件将路径和当前页面存储在某个变量中......因此,如果更改page_nav href,则无关紧要。
因此,您不仅需要更改url,还需要更改由插件存储的变量。
首先,您需要了解无限滚动功能会将您的网址分成两部分,网址和下一页数。
将此视为您的page_nav。
<div id="page_nav" style="display: none;">
<a href="http://localhost/trunx/blog/page/all/4">Próxima Página »</a>
</div>
在这种情况下,该插件存储我的网址进入opts.path [0]
http://localhost/trunx/blog/page/all/
而且当前页面存储到opts.state.currPage
假设您的新网址如下所示:
http://localhost/trunx/blog/page/programing/1
你可以看到,在这个新的URL我改变了类别从所有到编程和的页面
我所做的是:
var newPath = 'http://localhost/trunx/blog/page/programing/';
var newPage = 1;
// Changes the page_nav href.
$('#page_nav a').attr('href', newPath+newPage);
// Changes the plugin's stored variables
$('.postsBlog').infinitescroll({path:[newPath,''],state: {currPage:newPage-1}});
// This resets the pagination binder so if you had reached the end,it will now start paginating again.
$('.postsBlog').infinitescroll('bind');
考虑.postsBlog是我的infiniteScroll应用的容器。
你可以看到,当我设置新的currPage时,我从它减去1。这是因为无限滚动会在设置下一页时自动加1。
现在有一个“路径”设置,您可以在其中定义自己的逻辑以构建下一页的网址。 这将每次运行,并采取您返回的价值。 http://*.com/questions/24442592/infinite-scroll-always-pull-nextselector-url – Lepi 2014-09-27 14:57:03
对不起,我感到困惑。我编辑了内容。在页面上只有一个'page-nav',其href我正在编辑.. – soundswaste 2013-03-15 08:39:30
您确定load()调用实际上是再次调用吗?它看起来只能运行一次(在页面加载时)。 – 2013-03-15 09:16:17
是的,负载被调用。每次单击选项卡上的按钮时,都会调用整个函数callInfScroll。我怀疑这个滚动插件有些可疑。 – soundswaste 2013-03-15 09:24:24