0

对于无限滚动,我正在生成基于来自 mixitup 插件和数据库 API 集的过滤器的 url。

初始化无限滚动

function InitializeInfiniteScroll() {
var $infinite = jQuery('.mixitup').infiniteScroll({
    path: function() {
        return global.url +
            "&param1="+ global.param1 +
            "&param2="+global.param2 +
            "&param3=" + global.param3
    },
    // load page as text
    responseType: 'json',
    // disable history
    history: false,
    status: '.page-load-status',
    checkLastPage: false
});

$infinite.on( 'load.infiniteScroll', function( event, response ) {
    if(response.length > 0) {
        if(global.dataset === null) {
            global.dataset = response;
        } else {
            global.dataset = global.dataset.concat(response);
        }
        global.mixer.dataset(global.dataset);
        global.last_id = response[response.length-1].id;
    } else {
        global.lastp = 1;
        jQuery('.mixitup-container').infiniteScroll('lastPageReached');
    }
});
}

在混合控制中,我用以下方式调用它:

//global params1 params2 params3 set
if(global.lastp === 1) {
  jQuery('.mixitup').infiniteScroll('destroy');
  InitializeInfiniteScroll();
  lxdata.last_page = 0;
} else {
  jQuery('.mixitup').infiniteScroll('loadNextPage');
}

我有问题,在调用 lastPageReached 之后我无法调用 loadNextPage。我不知道如何正确重置无限滚动视图,以便正确使用另一个数据列表。

这样我得到一个错误:

Uncaught TypeError: o._init is not a function
4

2 回答 2

1

下面的答案对我有用(无限滚动 V3)。试图投票,但我的声誉很低。

只是为了澄清一点:

const infiniteScrollContainer = $('#your_container').data('infiniteScroll');
infiniteScrollContainer.enableScrollWatch();
infiniteScrollContainer.canLoad=true;
avatarScroll.pageIndex = 1;
avatarScroll.loadCount = 0;
infiniteScrollContainer.loadNextPage();
于 2018-08-23T15:58:39.537 回答
0

如果有人会与同样的事情打架:

infiniteScrollContainer.enableScrollWatch();
infiniteScrollContainer.canLoad=true;
infiniteScrollContainer.loadNextPage();

内部加载功能:

infiniteScrollContainer.hideStatusEventElements();
于 2018-04-06T08:21:03.990 回答