我需要在演示http://www.infinite-scroll.com/trigger.html
时完成删除分页器 // remove the paginator when we're done.
$(document).ajaxError(function(e,xhr,opt){
if (xhr.status == 404) $('a#next').remove();
});
但是这段代码不起作用。我已经提到在演示版中Infinite Scroll的版本是1.5.100504,但我在这里下载的最新版本是2.0b2.110713那么,有什么帮助吗?
也许这可以帮助我:
state: { isDuringAjax: false, isInvalidPage: false, isDestroyed: false, isDone: false, // For when it goes all the way through the archive. isPaused: false, currPage: 1 },
答案 0 :(得分:2)
您的网站永远不会发回404 http状态代码,因此该行永远不会有效:
if (xhr.status == 404) jQuery('#load-more').find('.text').html('No more posts to load.').end().delay(2000).fadeOut();
“无需加载帖子”消息来自您的infinitescroll初始化的“finishedMsg”属性。
如果您要添加
finished: function() {
if (this.options.state.isDone) {
$('#load-more').remove();
}
},
到config的加载属性:
$container.infinitescroll({
navSelector: '#nav-pagination-load-more',
nextSelector: '#nav-pagination-load-more .next',
itemSelector: '.hentry',
loading: {
selector: '#load-more',
finishedMsg: 'No more posts to load.',
img: 'http://cdn.moozpaper.com/lucidpress/wp-content/themes/lucidpress/images/loading_small.gif',
// like so: ==============================
finished: function() {
if (this.options.state.isDone) {
$('#load-more').remove();
}
},
msgText: ''
},
behavior: 'local'
},
它可能应该做你需要的。很难说,因为这个版本的插件没有很好的记录。
答案 1 :(得分:1)
你可以在开始代码中插入它,但我只是直接编辑它。
您会看到以下内容:
opts.loading.start = opts.loading.start || function() {
添加此内容 opts.loading.msg = $('');
制作
opts.loading.start = opts.loading.start || function() {
$(opts.navSelector).hide();
opts.loading.msg = $('<div id="">');
在dev版本上它就在第155行附近。这基本上会在没有破坏回调等的情况下使加载框短路。
答案 2 :(得分:1)
您可以在finishedMsg选项中添加要执行的脚本以进行加载:
$container.infinitescroll({
...
loading: {
finishedMsg: "<div class='infinite-scroll-finished'>No more articles to load!</div>
<script type='text/javascript'> $('#infinity-start').hide(); </script>"
...
}
}
答案 3 :(得分:1)
您可以使用errorCallback
选项: -
$container.infinitescroll({
errorCallback: function(){
$('#load-more').remove()
}
});