繁体   English   中英

无限滚动功能仅在首页中

[英]Infinite Scroll functions only in the front page

我在tumblr博客中使用了无限滚动插件,并且只要用户在首页上,一切都可以正常工作,例如:“ {someblog} .tumblr.com”。

从“ {someblog} .tumblr.com / page / 2”开始,依此类推,该插件似乎根本没有加载(它没有隐藏导航元素)。 初始化这是我用来调用它的代码:

$('#container').infinitescroll({
loading: {
            finished: undefined,
            finishedMsg: "Finished",
            img: "preloader.gif",
            msg: null,
            msgText: "Loading...",
            selector: null,
            speed: 'fast',
            start: undefined
        },
         state: {
            isDuringAjax: false,
            isInvalidPage: false,
            isDestroyed: false,
            isDone: false, // For when it goes all the way through the archive.
            isPaused: false,
            currPage: 1
         },
        callback: undefined,
        debug: false,
        behavior: undefined,
        binder: $(window), // used to cache the selector
        nextSelector: "#next a",
        navSelector: ".navigation",
        contentSelector: "#container", // rename to pageFragment
        itemSelector: "div.post",
        animate: false,
        pathParse: undefined,
        dataType: 'html',
        appendCallback: true,
        bufferPx: 400
    },
...

编辑:我启用了调试信息,并得到以下信息:

({0:“对不起,我们无法解析您的下一个(上一个帖子)URL。请验证您的css选择器指向正确的A标签。如果仍然出现此错误:大叫,大叫,请无限寻求帮助。 -scroll.com。“})

({0:“ determinePath”,1:“ / page / 4”})

({0:“绑定”,1:“绑定”}

看来它确实找到了下一页的地址“ / page / 4”(因为我在第3页)。 但是由于某种原因它不能“解析”它吗?

插件是否只能在第一页上起作用,而下一页的链接包含“ 2”? 如果是这样,我如何覆盖它?

在此先多谢!

感谢@graygilmore,我弄清楚了。 这是需要添加到代码中的行:

pathParse: function() {
    return ['http://{Name}.tumblr.com/page/', '']
},

请注意, {Name}是Tumblr变量,不需要更改-Tumblr会自动替换它。

另外-此行应以以下state: {...}添加state: {...}块:

currPage: {CurrentPage}

(在上面的问题示例中,我只是将其设置为“ 1”)。

{CurrentPage}也是Tumblr变量,因此对于正在查看的每个页面,它都会自动被当前页码替换。

现在,Infinite-Scroll可在博客的每个页面上正确加载,这在希望创建“加载更多帖子”按钮时特别有用,它使用户可以在常规(分页)导航和无限滚动之间进行选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM