Framework7 無限滾動

心系少時言 等一不歸人
//*將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類。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,792評論 1 92
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,754評論 18 399
  • 餓嗎吃飯這個事我不說卻都知道有個電影名叫上帝你挨過餓嗎我挨過比如現在和很多人一樣不是沒得吃選擇太多有時候累了就想干...
    還是我愚蠢閱讀 237評論 0 0
  • 羅胖六十秒概述 2017年7月24日: 用獨特精神視角來看,日本的小野二郎是壽司界的神,用廚師行業的普遍視角來看,...
    Y先生說閱讀 625評論 0 1