心系少時言 等一不歸人
//*將Dom7導出到本地變量*
var $$ = Dom7;
//*初始化應用程序*
var myApp = new Framework7();
//*初始化視圖*
var mainView = myApp.addView(".view-main",{
domCache: true
});
//*無限滾動*
// *加載flag*
var loading = false;
// *上次加載的序號*
var lastIndex = $$('dynamic_list').length;
// *最多可加載的條目*
var maxItems = 100;
//* 每次加載添加多少條目*
var itemsPerLoad = 3;
// *注冊'infinite'事件處理函數*
$$('.infinite-scroll').on('infinite', function () {
// *如果正在加載,則退出*
if (loading) return;
//* 設置flag*
loading = true;
//* 模擬1s的加載過程*
setTimeout(function () {
// *重置加載flag*
loading = false;
if (lastIndex >= maxItems) {
// *加載完畢,則注銷無限加載事件,以防不必要的加載*
myApp.detachInfiniteScroll($$('.infinite-scroll'));
// *刪除加載提示符*
$$('.infinite-scroll-preloader').remove();
return;
}
// *生成新條目的HTML*
var html = '';
for (var i = lastIndex; i <= lastIndex + itemsPerLoad; i++) {
html += '<div class='dynamic_list'>這是新添加的元素</div>';
}
// *添加新條目*
$$('.dynamic').append(html);
// *更新最后加載的序號*
lastIndex = $$('.dynamic_list').length;
}, 1000);
});
其中'.dynamic'類為包裹將要添加的元素的父元素,'.dynamic_list'類為將要添加的元素的同胞元素。
需要在page-content類中再添加infinite-scroll類。