Jquery 无限滚动插件使用自定义查询修改路径

Jquery 无限滚动插件使用自定义查询修改路径,jquery,scroll,jquery-isotope,infinite-scroll,infinite,Jquery,Scroll,Jquery Isotope,Infinite Scroll,Infinite,我将无限滚动插件()与jQuery一起使用,我想知道当用户向下滚动页面以查看更多项目时,是否可以使用自定义查询参数修改路径 是否有方法访问路径并修改其中一个查询参数。 它第一次点击路径ok,返回第一组项目,然后点击下一页,1,2,3 ok,但使用我第一次使用的相同查询参数,只更新页码 我想在点击第3页或第4页时修改其中一个参数,如下所示: var customPath = path + "?type=items&category=clothes&pageNumber="; $(

我将无限滚动插件()与jQuery一起使用,我想知道当用户向下滚动页面以查看更多项目时,是否可以使用自定义查询参数修改路径

是否有方法访问路径并修改其中一个查询参数。 它第一次点击路径ok,返回第一组项目,然后点击下一页,1,2,3 ok,但使用我第一次使用的相同查询参数,只更新页码

我想在点击第3页或第4页时修改其中一个参数,如下所示:

var customPath = path + "?type=items&category=clothes&pageNumber=";
$('#filters a').click(function () {
    $.infinitescroll.prototype.pageType = "&type=products" ;                  
    $.infinitescroll.prototype.pageType = "&category=clothes";                           
     return false;
});
我是不是走错了路

这是我的密码:

$container.infinitescroll({
    navSelector: '#page_nav', // selector for the paged navigation 
    nextSelector: '#page_nav a', // selector for the NEXT link (to page 2)
    itemSelector: '.element', // selector for all items you'll retrieve
    loading: {
        finishedMsg: 'No more categories to load.',
        msgText: "<em>Loading the next set of categories...</em>",
        img: 'http://i.imgur.com/qkKy8.gif'
    },
    pathParse: function (path, nextPage) {
        var customPath = path + "?type=items&category=all&pageNumber=";
        path = [customPath, '#contaner'];
        return path;
    }
},
// call Isotope as a callback
function (newElements) {
    $container.isotope('appended', $(newElements));
});
$container.infinitescroll({
导航选择器:'#页面导航',//分页导航的选择器
下一个选择器:“#page_nav a”,//下一个链接(到第2页)的选择器
itemSelector:'.element',//将检索的所有项目的选择器
装载:{
FinishedMg:“没有更多要加载的类别。”,
msgText:“正在加载下一组类别…”,
img:'http://i.imgur.com/qkKy8.gif'
},
路径解析:函数(路径,下一页){
var customPath=path+“?type=items&category=all&pageNumber=”;
路径=[customPath',#contaner'];
返回路径;
}
},
//调用同位素作为回调
函数(新元素){
$container.同位素('追加',$(新元素));
});

好的,所以我不得不做了一点修改,但由于Rich向我指出了相关问题,我的修改工作满足了我的需要

我在这里向jquery.infinitescroll.js原型添加了一些附加属性:

//line 67
 $.infinitescroll.prototype = {
       //My custom parameters
        pageType: "&type=items",
        categoryParam: "&category=shoes",
        /*  
            ----------------------------
            Private methods
            ----------------------------
            */
然后在调用的函数中:

retrieve: function infscr_retrieve(pageNum) {}
有一个变量:

desturl = path.join(opts.state.currPage)
改成

desturl = path.join(opts.state.currPage + $.infinitescroll.prototype.pageType + $.infinitescroll.prototype.categoryParam);
这将在desturl的末尾添加额外的查询参数

然后,从您拥有JavaScript的页面,您可以执行如下操作:

var customPath = path + "?type=items&category=clothes&pageNumber=";
$('#filters a').click(function () {
    $.infinitescroll.prototype.pageType = "&type=products" ;                  
    $.infinitescroll.prototype.pageType = "&category=clothes";                           
     return false;
});
这将使用自定义查询更新下一页的查询参数


希望这会对其他人有所帮助。

您的customPath是非法的js语法。你不能把“鞋”放在那样的双引号里。只要去掉双引号就可以了。(“&category=shoes&”)我认为您提供的信息不够我理解。你是说当用户到达第3页时,你想把类别从“衣服”改为“鞋子”吗?这是否意味着你想留在服装的第三页而不是鞋子的第三页?你到底想做什么?很抱歉,这是我这边的一个错误,我删除了引号。最初,当用户看到页面时,页面上有30个不同类别的项目。现在,页面上有一个按钮,当用户单击它时,项目被过滤,只显示类别衣服的项目。现在,当用户向下滚动时,我需要获取接下来的30个项目,但我需要修改路径查询,这样我将只获取类别衣服的项目,而不是获取所有项目。我对无限滚动的了解不够,无法回答,但这里有一个带答案的问题可能会有所帮助。谢谢,我能稍微修改一下插件,让它做我想要的。