jScroll

时间:2017-02-27 18:53:48

标签: javascript jquery asp.net-mvc

我正在尝试使用jScroll根据递增的页码重复加载局部视图。这个局部视图可以找到几个div,没什么特别的。为了进行无限滚动,部分视图必须返回超链接标记,以便自己找到要加载的下一页(据我所知,至少。)

所以我们有局部视图,

部分视图:

    <div class="someClass"></div>
    <div class="someOtherClass"></div>
    <a class="jScroll-next" href="some/path/to/resource?pagenumber=1">

重复放置局部视图的视图

查看:

<div id="PrimaryDiv">
@PartialView 
</div>

jQuery帮助驱动并将它们连接在一起。

jQuery的:

    $(document).ready(function (){

    var pn = 1;

    function incrementAndSet(){
        pn +=1;
        $('.jScroll-next').prop("href","some/path/to/resource?pagenumber=" + pn);
    }

        $(#PrimaryDiv).jscroll({
            autoTrigger: true,
            nextSelector: '.jScroll-next',
            callBack: function(){incrementAndSet();}
        });
     });

我的问题是,即使正在填充下一个链接,它也没有被使用。示例输出:

第一卷:

<div id="PrimaryDiv">
    <div class="someClass">datavalueforpage1</div>
    <div class="someOtherClass">somedataonpage1</div>
    <a class="jScroll-next" href="some/path/to/resource?pagenumber=2">
</div>

第二卷:

<div id="PrimaryDiv">
    <div class="someClass">datavalueforpage1</div>
    <div class="someOtherClass">somedataonpage1</div>
    <div class="someClass">datavalueforpage1</div>
    <div class="someOtherClass">somedataonpage1</div>
    <a class="jScroll-next" href="some/path/to/resource?pagenumber=3">
</div>

1 个答案:

答案 0 :(得分:0)

我在帖子中找到了一个解决方案,但我还是想分享一下。

这主要是我对范围的看法。搬家:

var pn = 1;

function incrementAndSet(){

以外的

    $(document).ready(function (){

允许我使用

中的计数器(pn)
    $(document).ready(function (){ 
部分视图的

,意味着我可以在局部视图上调用incrementAndSet()函数,确保在部分视图准备好时正确设置数据。

所以我的文件看起来与此相似:

部分视图:

.../Partial.js

<div class="someClass"></div>
<div class="someOtherClass"></div>
<a class="jScroll-next" href="some/path/to/resource?pagenumber=1">

父视图:

.../Parent.js

<div id="PrimaryDiv">
@PartialView 
</div>

部分jQuery文件:

$(document).ready(function (){
    incrementAndSet();
    });

父jQuery文件:

    var pn = 1;

    function incrementAndSet(){
        pn +=1;
        $('.jScroll-next').prop("href","some/path/to/resource?pagenumber=" + pn);
    }

    $(document).ready(function (){
        $(#PrimaryDiv).jscroll({
            autoTrigger: true,
            nextSelector: '.jScroll-next',
            callBack: function(){incrementAndSet();}
        });
     });