1

我有一段从 GitHub 获得的代码。它是一个 Jquery 滚动分页插件。

https://github.com/andferminiano/jquery-scroll-pagination/tree/master

JAVASCRIPT

$(function(){
    var count=$('#existing_campaign li').length;
    $('#existing_campaign').scrollPagination({
        'contentPage': '/cs_directory/helpers/campaigns_and_chats.php', // the url you are fetching the results
        'contentData': {"count":count}, // these are the variables you can pass to the request, for example: children().size() to know which page you are
        'scrollTarget': $(window), // who gonna scroll? in this example, the full window
        'heightOffset': 10, // it gonna request when scroll is 10 pixels before the page ends
        'beforeLoad': function(){ // before load function, you can display a preloader div
            $('#loading').fadeIn();
            alert($('#existing_campaign li').length);
        },
        'afterLoad': function(elementsLoaded){ // after loading content, you can use this function to animate your new elements
             $('#loading').fadeOut();
             var i = 0;
             $(elementsLoaded).fadeInWithDelay();
             if ($('#existing_campaign li').length > 1000){ // if more than 100 results already loaded, then stop pagination (only for testing)
                $('#nomoreresults').fadeIn();
                $('#existing_campaign').stopScrollPagination();
             }
        }
    });

    // code for fade in element by element
    $.fn.fadeInWithDelay = function(){
        var delay = 0;
        return this.each(function(){
            $(this).delay(delay).animate({opacity:1}, 200);
            delay += 100;
        });
    };        
});

我不知道为什么,但是在将 contentData 发送到 contentPage 进行处理后,我一直得到相同的值,无论我激活了多少次函数并从 contentPage 附加了我的列表。

我认为这是一个缓存问题,但我不确定如何清除缓存。尝试在 .scrollPagination 中作为选项插入,但效果不佳。

想知道我将如何度过这个难关。我知道这可以做到,否则我将如何<li>从我的内容页面对我的 's 进行分组以逐位显示?

该文档的选项有点稀缺,所以我必须来这里寻找答案。希望有人可以提供一些答案。

4

1 回答 1

1

我有同样的问题。我修复了这个在 BeforeLoad 事件中更改内容数据并在 afterLoad 事件中增加页面,如下所示:

function initInfiniteScroll(data){

$('#my-div').scrollPagination({
    'contentPage': url,
    'scrollTarget': $(window),
    'heightOffset': 1,
    'AjaxAsync': true,
    'beforeLoad': function () {
        $(this).attr('contentData', data); // setting the contentData
    }, ...
 'afterLoad': function (loadedData) {
            ...
            data.currentPage++; //Incrementing the page

}
于 2014-02-18T11:16:50.480 回答