[ js] - dropload.min.js下拉刷新,上拉加載插件

1榄檬、引入

<link rel="stylesheet" href="/css/dropload.css" />
<script src="/js/dropload.min.js"></script>

2纽帖、html使用


<div class="hcoupon-img" id="couponList">
</div>

3馁害、模板

<script id="couponListTemp" type="text/x-dot-template">

{{~it :v:i}}
<div class="hcoupon-list noUse1">
    <div class="list-content">
        <h3>¥{{=v.discountPrice}}代金券</h3>
        <p>使用條件:無限制</p>
        <p>有效截止日期:{{=v.getDate}}至{{=v.validityDate}}</p>
    </div>
</div>
{{~}}</script>

4春畔、js使用

var pageNo=1; var PAGE_SIZE=5; var status=1; function getData(status){ pageNo=1; getCoupon(status,pageNo,PAGE_SIZE); }

$('.hcoupon-nav li').click(function(){
    $(this).addClass('active').siblings("li").removeClass('active');
})
function getCoupon(status,pageNo,pageSize,me){
    status=status;
    BaseTool.get("/mine/discount/list?status="+status+"&pageNo="+pageNo+"&pageSize="+PAGE_SIZE,function(e,b){
        var interText=doT.template($("#couponListTemp").html());
        if(b&& b.result&& b.result.list&& b.result.list.length){
            for(var i=0 ;i<b.result.list.length;i++){
                b.result.list[i].validityDate = b.result.list[i].validityDate.split(" ")[0];
                b.result.list[i].useDate = b.result.list[i].useDate.split(" ")[0];
                b.result.list[i].getDate = b.result.list[i].getDate.split(" ")[0];
            }
            // 加載
            var html=interText(b.result.list);
            $("#couponList").append(html);
            if(me&&me.resetload){
                // 每次數(shù)據(jù)加載完褐缠,必須重置
                me.resetload();
            }
        } else{
            if(me&&me.lock){
                if(!$("#couponList").html()){
                    var interError=doT.template($("#errorCourseList").html());
                    var html=interError();
                    $("#couponList").append(html);
                }
                //鎖定
                me.lock();
                //顯示無數(shù)據(jù)
                me.noData();
                // 每次數(shù)據(jù)加載完政鼠,必須重置
                me.resetload();
            }
        }
    },"json")
}

加載刷新的代碼:

//頁(yè)面拖拽加載數(shù)據(jù)(插件:dropload)
var dropload = $("#couponList").dropload({
    scrollArea:window,
    // 1 . 下拉刷新 回調(diào)函數(shù) (看結(jié)構(gòu))
    loadUpFn : function(me){
        $.ajax({
            type: 'GET',
            // 每次獲取最新的數(shù)據(jù)即可
            url: './interface/page.php?pageNo=1',
            dataType: 'json',
            success: function(data){
                // $.ajax()雖接口提供json字符串,但接收到的是 json對(duì)象
                var result = '';
                // 循環(huán)拼接顯示內(nèi)容DOM
                // 刷新獲取多少數(shù)據(jù)队魏,顯示多少 使用html()重置 lists DOM
                for(var i = 0; i < data.data.length; i++){
                    result += '<a class="item opacity" href="'+data.data[i].link+'">'
                                    +'[圖片上傳失敗...(image-e3cc7-1565666444350)]'
                                    +'<h3>hehe</h3>'
                                    +'<span class="date">'+data.data[i].id+'</span>'
                                +'</a>';
                }
                // 為測(cè)試公般,延遲1秒加載
                 setTimeout(function(){
                    // 插入加載使用 html() 重置 DOM
                    $('.lists').html(result);
                    // 每次數(shù)據(jù)加載完,必須重置
                    me.resetload();
                },1000);
            },
            // 加載出錯(cuò)
            error: function(xhr, type){
                alert('Ajax error!');
                // 即使加載出錯(cuò)胡桨,也得重置
                me.resetload();
            }
        });
    },
    //上拉加載更多 回調(diào)函數(shù)
    loadDownFn : function(me){
        getCoupon(status,pageNo++,PAGE_SIZE,me);
    },

以上不寫默認(rèn)為如下官帘,自定義文本內(nèi)容加上以下

    // 下拉刷新模塊顯示內(nèi)容
   domUp : {
        domClass   : 'dropload-up',
        // 下拉過程顯示內(nèi)容
        domRefresh : '<div class="dropload-refresh">↓下拉過程顯示內(nèi)容-下拉刷新-自定義內(nèi)容</div>',
        // 下拉到一定程度顯示提示內(nèi)容
        domUpdate  : '<div class="dropload-update">↑釋放更新-自定義內(nèi)容</div>',
        // 釋放后顯示內(nèi)容
        domLoad    : '<div class="dropload-load"><span class="loading"></span>加載中-自定義內(nèi)容...</div>'
    },
    // 上拉加載更多
    domDown:{
        domClass : 'dropload-down',
        //滑動(dòng)到底部顯示內(nèi)容
        domRefresh : '<div class="dropload-refresh">↑上拉加載更多</div>',
        //內(nèi)容加載過程中顯示內(nèi)容
        domLoad :  '<div class="dropload-load"><span class="loading"></span>加載中...</div>',
        // 沒有更多內(nèi)容
        domNoData : '<div class="dropload-noData">暫無數(shù)據(jù)</div>'
    }
});

2017.1.17補(bǔ)充
上述代碼存在一個(gè)問題,就是請(qǐng)求接口多一次的問題昧谊,因?yàn)橹挥姓?qǐng)求了才知道有沒有下一頁(yè)刽虹。
解決:
根據(jù)接口提供的pages字段判斷共多少頁(yè),若是大于pages就不再去請(qǐng)求
代碼:


Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呢诬,一起剝皮案震驚了整個(gè)濱河市涌哲,隨后出現(xiàn)的幾起案子胖缤,更是在濱河造成了極大的恐慌,老刑警劉巖阀圾,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件草姻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡稍刀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門敞曹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來账月,“玉大人,你說我怎么就攤上這事澳迫【殖荩” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵橄登,是天一觀的道長(zhǎng)抓歼。 經(jīng)常有香客問我,道長(zhǎng)拢锹,這世上最難降的妖魔是什么谣妻? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮卒稳,結(jié)果婚禮上蹋半,老公的妹妹穿的比我還像新娘。我一直安慰自己充坑,他們只是感情好减江,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捻爷,像睡著了一般辈灼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上也榄,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天巡莹,我揣著相機(jī)與錄音,去河邊找鬼手蝎。 笑死榕莺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棵介。 我是一名探鬼主播钉鸯,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼邮辽!你這毒婦竟也來了唠雕?” 一聲冷哼從身側(cè)響起贸营,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岩睁,沒想到半個(gè)月后钞脂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捕儒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年冰啃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刘莹。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阎毅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出点弯,到底是詐尸還是另有隱情扇调,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布抢肛,位于F島的核電站狼钮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏捡絮。R本人自食惡果不足惜熬芜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望福稳。 院中可真熱鬧猛蔽,春花似錦、人聲如沸灵寺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)略板。三九已至毁枯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叮称,已是汗流浹背种玛。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓤檐,地道東北人赂韵。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挠蛉,于是被迫代替她去往敵國(guó)和親祭示。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理谴古,服務(wù)發(fā)現(xiàn)质涛,斷路器稠歉,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法汇陆,內(nèi)部類的語(yǔ)法怒炸,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法毡代,線程的語(yǔ)...
    子非魚_t_閱讀 31,598評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,744評(píng)論 25 707
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品阅羹,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式教寂。簡(jiǎn)單...
    舟漁行舟閱讀 7,724評(píng)論 2 17
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議灯蝴。它實(shí)...
    香橙柚子閱讀 23,794評(píng)論 8 183