1. 程式人生 > >手機端滑動載入分頁

手機端滑動載入分頁

html: 

<div class="title">
    <a href="javascript:history.go(-1);" class="a"><i class="icon-angle-left"></i></a>
貨款充值記錄
    <a href="{:U('Agency/Index/index')}" class="tx"><i class="icon-home"></i></a>
</div>


<div class="amount">
    <ul>
        <li class="status1" onclick="getChangeList(1, 0)">未稽核</li>
        <li class="status2" onclick="getChangeList(1, 1)">已稽核</li>
        <li class="status3" onclick="getChangeList(1, -1)">已拒絕</li>
    </ul>
</div>


<!-- 中間內容 -->
<div class="amount-wrap tablelist-append"></div>
<div class="downs">已經到底啦…</div>


<!-- 總頁數 -->
<input type="hidden" id="page_count">
<!-- 當前頁數 -->
<input type="hidden" id="page">
<input type="hidden" id='status' name="status"/>

 

js:

<script type="text/javascript">
     $(function(){
        getChangeList(1, 0);
     });

     var is_load = true;//防止重複載入

     function getChangeList(page, status) {
        $("#page").val(page);
        $("#status").val(status);

        if(status == 0){
                $('.status1').addClass('on');
                $('.status2').removeClass('on');
                $('.status3').removeClass('on');
        }else if(status == 1){
                $('.status1').removeClass('on');
                $('.status2').addClass('on');
                $('.status3').removeClass('on');
        }else if(status == -1){
                $('.status1').removeClass('on');
                $('.status2').removeClass('on');
                $('.status3').addClass('on');
        }

        if(is_load) {
                is_load = false;
                $.ajax({
                    type:"post",
                    url : "{:U('ajaxChargeRecord')}",
                    data : {
                        'status':status,
                        "page" : page,
                    },
                    beforeSend:function(){
                        is_load = false;
                    },
                    success : function(data){
                        $("#page_count").val(data['page_count']);//總頁數
                        if(page == 1){
                            var list_html = "";
                        }else if(page > 1){
                            var list_html = $('.tablelist-append').html();
                        }
                        if(data['data'].length >0 ){
                            for(var i=0;i<data['data'].length;i++){
                                    var item=data['data'][i];
                                    list_html += '<div class="coin">';
                                    list_html += '<div class="coin-left">';
                                    list_html += '<p><span>充值金額:</span><strong> '+item.pay_money+'</strong></p>';
                                    list_html += '<p><span>稽核狀態:</span>';
                                    if(item.status == 0){
                                        list_html += '<span style="color:#FF8C69;"> 未稽核</span>';
                                    }else if(item.status == 1){
                                        list_html += '<span style="color:#666;"> 已稽核</span>';
                                    }else{
                                        list_html += '<span style="color:red;"> 已拒絕</span>';
                                    }
                                    list_html += '</p>';
                                    if(item.remarks != ''){
                                        list_html += '<p><span>備註:</span> '+item.remarks+'</p>';
                                    }
                                    if(item.status != 0 && item.remarks != ''){
                                        list_html += '<p><span>拒絕原因:</span> '+item.reason+'</p>';
                                     }
                                    if(item.status != 0 && item.check_time>0){
                                        list_html += '<p><span>稽核時間:</span> '+item.check_time+'</p>';
                                    }
                                    list_html += '<p><span>支付時間:</span> '+item.time+'</p>';
                                    list_html += '</div>';
                                    list_html += '<div class="coin-right">';
                                    list_html += '<p>支付截圖</p>';
                                    list_html += '<p><img src="'+item.pay_img+'" alt="" onclick="showImg(\''+item.pay_img+'\')"></p>';
                                    list_html += '</div>';
                                    list_html += '</div>';
                                }

                                    list_html += '<div class="load">載入中…</div>';
                            }else{
                                    list_html+= '<p style="color:#939393;text-align:center;margin-top:50px;font-size:24px;">Sorry!暫無相應的資料…</p>';
                            }
                            is_load = true;
                            $('.tablelist-append').html(list_html);
                        },
                        complete : function(){
                            is_load = true;
                        },
                        error : function(data){
                            console.info('error:'+data.responseText);
                        }
                });
            }
         }


     //滑動到底部載入
     $(window).scroll(function(){
            var totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());
            var content_box_height = parseFloat($(".tablelist-append").height());
            if(totalheight - content_box_height >= 100){
                if(is_load){
                    var page = parseInt($("#page").val()) + 1;//頁數
                    var total_page_count = $("#page_count").val(); // 總頁數
                    if(page > total_page_count){
                        $('.downs').show();
                        return false;
                    }else{
                        $('.load').show();
                        setTimeout(function(){
                            $('.load').hide();
                            getChangeList(page);
                        }, 500);
                    }
                }
            }
     });

</script>

 

 

php:

     public function ajaxChargeRecord() {
        $page = I('page', 1);
        $ChargeBalance = M('ChargeBalance');
        $user_id = session('managerid');
        $status = (int)I('status');
        $where = array();
        $where['user_id'] = $user_id;
        $where['status'] = $status;
        $page_size = 10;
        $start_page = $page_size * ($page - 1);

        $list = $ChargeBalance->where($where)->limit($start_page, $page_size)->order('time desc')->select();
        foreach($list as &$row){
            if($row['time'] > 0){
                $row['time'] = date('Y-m-d H:i:s', $row['time']);
            }
            if($row['check_time'] > 0){
                $row['check_time'] = date('Y-m-d H:i:s', $row['check_time']);
            }
        }
        unset($row);
        $count = $ChargeBalance->where($where)->count('id');
        $page_count = ceil($count / 10);
        $data = array(
            'data' => $list? $list:array(),
            'page_count' => $page_count
        );
        $this->ajaxReturn($data, 'json');
    }