1

当我们完成演示时,我需要删除分页器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();
    });

但是这段代码不起作用。我在演示中提到过无限滚动的版本是 1.5.100504 但我在这里下载的最新版本是 2.0b2.110713 那么,有什么帮助吗?

也许这可以帮助我:

状态: {
    isDuringAjax:假,
    isInvalidPage:假,
    isDestroyed:假,
    isDone: false, // 当它一直通过档案时。
    暂停:假,
    当前页面:1
  },

?

4

4 回答 4

2

您的网站永远不会发回 404 http 状态代码,因此此行将永远无法工作:

if (xhr.status == 404) jQuery('#load-more').find('.text').html('No more posts to load.').end().delay(2000).fadeOut();

“没有更多要加载的帖子”消息来自无限滚动初始化的“finishedMsg”属性。

如果你要添加

finished: function() {
    if (this.options.state.isDone) {
        $('#load-more').remove();
    }
},

到配置的加载属性:

$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'
        },

它可能应该做你需要的。很难说,因为这个版本的插件没有很好地记录。

于 2012-07-19T18:31:50.573 回答
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="">');

在开发版本上它在第 155 行左右。这基本上会缩短加载框而不会破坏回调等。

于 2012-12-16T22:07:28.293 回答
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>"
  ...
  }
}
于 2013-06-25T11:17:38.133 回答
1

您可以使用errorCallback选项:-

$container.infinitescroll({
    errorCallback: function(){ 
        $('#load-more').remove()
    }
});
于 2016-02-09T09:21:22.040 回答