移动端H5-dropload.js分页插件使用示例

移动端H5-dropload.js请求后端接口进行分页加载数据

js插件下载地址:https://download.csdn.net/download/qq_36993916/15119490

注意:php接口也要写好分页

<link rel="stylesheet" href="./plugs/dropload/dist/dropload.css">
<script src="./plugs/dropload/dist/dropload.min.js"></script>
<!--    动态评论    -->
<div class="comment-list" style="display: block;">
    <h3>评论</h3>
    <div class="comment-info-list" id="list">

    </div>
    <!--       无评论时显示         -->
    <div class="no-comment" style="display:none;">
        <div class="no-comment-anm">
            <img src="./images/no_comment.png" alt="">
        </div>
        <div class="no-comment-app ">
            <h5><span class="open-download-block">下载App参与互动吧</span></h5>
        </div>
    </div>
    <div style="height: 25px;"></div>
</div>
//分页加载数据 dropload
$(function(){
    // 页数
    var page = 0;
    // 每页展示3个
    var size = 3;
    var next_index = 0;//下一页索引值php接口用用

    // dropload
    $('.container').dropload({
        scrollArea : window,
        domUp : {
            domClass   : 'dropload-up',
            domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>',
            domUpdate  : '<div class="dropload-update">↑释放更新</div>',
            domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>'
        },
        domDown : {
            domClass   : 'dropload-down',
            domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
            domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
            domNoData  : '<div class="dropload-noData">暂无数据</div>'
        },
        loadUpFn : function(me){
            $.ajax({
                headers: {
                    'version': "wap",
                },
                data:{
                    'tid': <?= $res['id'];?>,//801 358 811
                    'type': 2,//动态
                    'category' : 1, //拿最热数据
                    'page_size':size,
                    'next_index':next_index
                },
                type: 'GET',
                url: JsApi+'/api/comment/list',
                dataType: 'json',
                async: false,//同步请求防止数据错乱
                success: function(data){
                    var returnData = data.data.list;
                    // console.log(next_index,data);
                    var para = ''; //置空不然会被多追加数据
                    for(var i = 0; returnData.length >i;i++){

                        //创建时间
                        var date = new Date(parseInt(returnData[i].create_time)*1000);
                        var createtime = date.getMonth()+1+'-'+date.getDate()+' '+date.getHours()+":"+ date.getMinutes();
                        //是否精彩评论显示
                        var isperfect = (returnData[i].is_perfect==2)?"none":"block";
                        //是否点赞显示
                        var ispraise = (returnData[i].is_praise==2)?"":"_selection";
                        // console.log(returnData[i]);
                        //处理评论详情
                        var retdata = deal_comment_info(returnData[i]);

                        //判断子评论是否显示
                        var ischid = (returnData[i].child_list.length>0)?"block":"none";

                        if (parseInt(returnData[i].messagenums)<=0){
                            returnData[i].messagenums='';
                        }
                        if (parseInt(returnData[i].praisenums)<=0){
                            returnData[i].praisenums='';
                        }

                        para += '<div class="comment-info">\n' +
                            '                    <div class="comment-info-user">\n' +
                            '                        <div class="comment-info-header">\n' +
                            '                            <a href="javascript:void(0)" class="comment-info-user-header open-download-block">\n' +
                            '                                <img src="'+returnData[i].member.headurl+'" onerror="javascript:this.src= \'./images/logo_lu.png\'">\n' +
                            '                            </a>\n' +
                            '                        </div>\n' +
                            '                        <div class="comment-info-name">\n' +
                            '                            <div class="comment-text-box">\n' +
                            '                                <a href="javascript:void(0)" class="router-link-active open-download-block">\n' +
                            '                                    <h3 class="comment-text-name">\n'
                            + returnData[i].member.nickname +
                            '                                    </h3>\n' +
                            '                                </a>\n' +
                            '                                <h4 class="comment-text-time">\n' +
                            '                                      <a href="javascript:void(0)" class="open-download-block"><span class="from-time">'+createtime+'</span></a>\n' +
                            '                                </h4>\n' +
                            '                            </div>\n' +
                            '                        </div>\n' +
                            '                        <img src="../images/label_hot_reviews.png" alt="" class="comment-text-wond"  style="display: '+isperfect+';">\n' +
                            '                    </div>\n' +
                            '                    <div class="comment-detail">\n' +
                            '                        <div class="comment-detail-par">\n' +
                            '                            <div class="open-download-block">\n' +
                            '                                <span>'+retdata.parinfo+'</span>\n' +
                            '                            </div>\n' +
                            '                        </div>\n' +
                            '                        <div class="comment-detail-child" style="display: '+ischid+';">\n' +
                            '                            <div class="child-info-list" style="display: '+ischid+';">\n'
                            +retdata.chidhtml+
                            '                            </div>\n' +
                            '                        </div>\n' +
                            '                    </div>\n' +
                            '                    <div class="f-footer-ctrl">\n' +
                            '                        <a href="javascript:void(0)" class="m-diy-btn m-box-center-a open-download-block">\n' +
                            '                            <img src="../images/iocn_16_comment.png" alt="" class="lite-iconf lite-iconf-comments">\n' +
                            '                            <h4>'+returnData[i].messagenums+'</h4>\n' +
                            '                        </a>\n' +
                            '                        <a href="javascript:void(0)" class="m-diy-btn m-box-center-a open-download-block">\n' +
                            '                            <img src="../images/iocn_16_like'+ispraise+'.png" alt="" class="lite-iconf lite-iconf-like  asopen-download-block">\n' +
                            '                            <h4>'+returnData[i].praisenums+'</h4>\n' +
                            '                        </a>\n' +
                            '                    </div>\n' +
                            '                </div>';


                    }
                    $('#list').append(para);
                    next_index = data.data.next_index;
                    // 每次数据加载完,必须重置
                    me.resetload();
                    // 重置页数,重新获取loadDownFn的数据
                    page = 0;
                    // 解锁loadDownFn里锁定的情况
                    me.unlock();
                    me.noData(false);
                    // 为了测试,延迟1秒加载-延迟会出多加载一次
                    // setTimeout(function(){
                    //     $('#list').append(para);
                    //     next_index = data.data.next_index;
                    //     // 每次数据加载完,必须重置
                    //     me.resetload();
                    //     // 重置页数,重新获取loadDownFn的数据
                    //     page = 0;
                    //     // 解锁loadDownFn里锁定的情况
                    //     me.unlock();
                    //     me.noData(false);
                    // },1000);
                },
                error: function(xhr, type){
                    console.log('Ajax error!');
                    // 即使加载出错,也得重置
                    me.resetload();
                }
            });
        },
        loadDownFn : function(me){
            page++;
            // 拼接HTML
            var para = '';
            $.ajax({
                headers: {
                    'version': "wap",
                },
                data:{
                    'tid': <?= $res['id'];?>,//801 358 811
                    'type': 2,
                    'category' : 1, //拿最热数据
                    'page_size':size,
                    'next_index':next_index
                },
                type: 'GET',
                url: JsApi+'/api/comment/list',
                dataType: 'json',
                async: false,
                success: function(data){
                    if (parseInt(page)==1 && data.data.list.length==0) { //无评论时显示
                        $('.no-comment').css('display','block');
                        var h = $(document).height();//页面总高度
                        var h1 = $(window).height(); //页面显示区域高度
                        if(h<=h1){ //页面小于一屏
                            $(".no-comment").height(605);
                        }
                    }
                    var returnData = data.data.list;
                    console.log(data);
                    if(returnData.length > 0){
                        for(var i = 0; i<returnData.length;i++){

                            //创建时间
                            var date = new Date(parseInt(returnData[i].create_time)*1000);
                            var createtime = date.getMonth()+1+'-'+date.getDate()+' '+date.getHours()+":"+ date.getMinutes();
                            //是否精彩评论显示
                            var isperfect = (returnData[i].is_perfect==2)?"none":"block";
                            //是否点赞显示
                            var ispraise = (returnData[i].is_praise==2)?"":"_selection";
                            // console.log(returnData[i]);
                            //处理评论详情
                            var retdata = deal_comment_info(returnData[i]);

                            //判断子评论是否显示
                            var ischid = (returnData[i].child_list.length>0)?"block":"none";

                            if (parseInt(returnData[i].messagenums)<=0){
                                returnData[i].messagenums='';
                            }
                            if (parseInt(returnData[i].praisenums)<=0){
                                returnData[i].praisenums='';
                            }

                            para += '<div class="comment-info">\n' +
                                '                    <div class="comment-info-user">\n' +
                                '                        <div class="comment-info-header">\n' +
                                '                            <a href="javascript:void(0)" class="comment-info-user-header open-download-block">\n' +
                                '                                <img src="'+returnData[i].member.headurl+'" onerror="javascript:this.src= \'./images/logo_lu.png\'">\n' +
                                '                            </a>\n' +
                                '                        </div>\n' +
                                '                        <div class="comment-info-name">\n' +
                                '                            <div class="comment-text-box">\n' +
                                '                                <a href="javascript:void(0)" class="router-link-active open-download-block">\n' +
                                '                                    <h3 class="comment-text-name">\n'
                                + returnData[i].member.nickname +
                                '                                    </h3>\n' +
                                '                                </a>\n' +
                                '                                <h4 class="comment-text-time">\n' +
                                '                                      <a href="javascript:void(0)" class="open-download-block"><span class="from-time">'+createtime+'</span></a>\n' +
                                '                                </h4>\n' +
                                '                            </div>\n' +
                                '                        </div>\n' +
                                '                        <img src="../images/label_hot_reviews.png" alt="" class="comment-text-wond"  style="display: '+isperfect+';">\n' +
                                '                    </div>\n' +
                                '                    <div class="comment-detail">\n' +
                                '                        <div class="comment-detail-par">\n' +
                                '                            <div class="open-download-block">\n' +
                                '                                <span>'+retdata.parinfo+'</span>\n' +
                                '                            </div>\n' +
                                '                        </div>\n' +
                                '                        <div class="comment-detail-child" style="display: '+ischid+';">\n' +
                                '                            <div class="child-info-list" style="display: '+ischid+';">\n'
                                +retdata.chidhtml+
                                '                            </div>\n' +
                                '                        </div>\n' +
                                '                    </div>\n' +
                                '                    <div class="f-footer-ctrl">\n' +
                                '                        <a href="javascript:void(0)" class="m-diy-btn m-box-center-a open-download-block">\n' +
                                '                            <img src="../images/iocn_16_comment.png" alt="" class="lite-iconf lite-iconf-comments">\n' +
                                '                            <h4>'+returnData[i].messagenums+'</h4>\n' +
                                '                        </a>\n' +
                                '                        <a href="javascript:void(0)" class="m-diy-btn m-box-center-a open-download-block">\n' +
                                '                            <img src="../images/iocn_16_like'+ispraise+'.png" alt="" class="lite-iconf lite-iconf-like asopen-download-block">\n' +
                                '                            <h4>'+returnData[i].praisenums+'</h4>\n' +
                                '                        </a>\n' +
                                '                    </div>\n' +
                                '                </div>';


                        }
                        // 如果没有数据
                    }else{
                        // 锁定
                        me.lock();
                        // 无数据
                        me.noData();
                    }
                    // 插入数据到页面,放到最后面
                    $('#list').append(para);
                    next_index = data.data.next_index;
                    // 每次数据插入,必须重
                    me.resetload();
                    // 为了测试,延迟1秒加载-延迟会多加载一次
                    // setTimeout(function(){
                    //     // 插入数据到页面,放到最后面
                    //     $('#list').append(para1);
                    //     next_index = data.data.next_index;
                    //     // 每次数据插入,必须重置
                    //     me.resetload();
                    // },1000);
                },
                error: function(xhr, type){
                    console.log('Ajax error!');
                    // 即使加载出错,也得重置
                    me.resetload();
                }
            });
        },
        threshold : 50
    });
});

//分页append事件之后,内容属于动态原有事件失效,此方法可重新绑定事件
$(document).on("click", ".open-download-block", function() {
    $('.download-open').css('display','block');
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值