1. 程式人生 > >點選切換頁面 分頁載入 懶載入

點選切換頁面 分頁載入 懶載入

工作日誌  隨手筆記 僅供參考

 

 

 

一 頁面一開始載入的時候就提前載入頁面出來 然後下載滾動的時候 每次載入10個  然後判斷介面返回的資料 的長度 當長度小於10 的時候 表示沒有更多的資料 停止下拉載入

   <div class="scroll-container">
        <div class="scroll-inner" style="min-height: 101%">
            {{--輪播圖--}}
            <div class="swiper-container"></div>
            {{--分類導航--}}
            <div class="list_content"></div>
            {{--預設排序--}}
            <div class="list_content2">
                <div class="list_item active" data-id="1">預設排序</div>
                <div class="list_item" data-id="2">最新上拍</div>
                <div class="list_item" data-id="3">即將結拍</div>
            </div>
            {{--商品內容--}}
            <div class="section">
                <div class="msg">

                </div>
                <div class="weui-loadmore loading">
                    <i class="weui-loading"></i>
                    <span class="weui-loadmore__tips">正在載入</span>
                </div>
                <div class="weui-loadmore weui-loadmore_line" style="display: none">
                    <span class="weui-loadmore__tips no_more">沒有更多了</span>
                </div>
            </div>

        </div>
    </div>

 

<script type="text/html" id="section">
        {MBTS if data.length == 0 MBTE}
        <div class="no_data">暫無資料</div>
        {MBTS else MBTE}
        {MBTS each data MBTE}
        <div class="section_list" data-url="{MBTS $value.detail_url MBTE}">
            <div class="list_img">
                <img src="{MBTS $value.pic MBTE}" alt="">
            </div>
            <div class="list_title">
                <div class="title_text">{MBTS $value.description MBTE}</div>
                <div class="title_text ">
                    {MBTS if $value.status == 0 MBTE}
                    <span> 未成交</span>
                    {MBTS else if $value.status == 1 MBTE}
                    <span> 已成交</span>
                    {MBTS else if $value.status == 2 MBTE}
                    <span> 已成交</span>
                    {MBTS else if $value.status == 3 MBTE}
                    <span> 流拍</span>
                    {MBTS /if MBTE}
                </div>
                <div class="title_text">
                    <span>
                       當前出價 : ¥{MBTS $value.step MBTE}元
                    </span>

                </div>
                <div class="list_img2">
                    <img src="{MBTS $value.user.avatar MBTE}" alt="">
                </div>
            </div>
        </div>
        {MBTS /each MBTE}
        {MBTS /if MBTE}
    </script>
            var page = 1; //從第一頁開始載入
            var page_size = 8; //每次載入8個
            var category_id = '';//分類
            var state = '';//排序
            var loading = false;  //狀態標記
            var tplDrawing = function(cfg){
                $(".loading").css("display", "block");//顯示正在載入
                $(".weui-loadmore_line").css("display", "none");//隱藏暫無資料
                loading = true;
                //列表
                Ajax({
                    url: "{{route("site.auction.list")}}",
                    data: {
                        state:cfg.state,
                        app_id: 2,
                        category_id:cfg.category_id,
                        page_size:cfg.page_size,
                        page:cfg.page
                    },
                    type: "POST",
                    success: function (res) {
                        console.log(res);
                        if (res.code == 1){

                            var section = "section";
                            var tem_section = template(section, res.result);
                            $(".msg").append(tem_section);
                            // 計算商品寬度
                            var width = window.screen.width;
                            var goods_w = (width - 8) / 2;
                            $(".section_list").css("width", goods_w + "px");
                            $(".list_img").css("width", goods_w + "px");
                            $(".list_img").css("height", goods_w + "px");
                            if (res.result.data.length == 0) {
                                if (page == 1) {
                                    $(".loading").css("display", "none");//顯示正在載入
                                    $(".weui-loadmore_line").css("display", "none");//隱藏暫無資料
                                    loading = true;
                                } else {
                                    $(".loading").css("display", "none");//顯示正在載入
                                    $(".weui-loadmore_line").css("display", "block");//隱藏暫無資料
                                    loading = true;
                                    $(".no_data").css("display","none")//隱藏暫無資料

                                }

                            } else {
                                loading = false;
                                if (res.result.data.length < page_size) {
                                    $(".loading").css("display", "none");//顯示正在載入
                                    $(".weui-loadmore_line").css("display", "block");//隱藏暫無資料
                                    loading = true;
                                }
                            }

                            page++
                        } else {
                            loading = true;
                            $(".loading").css("display", "none");//隱藏正在載入
                            $(".weui-loadmore_line").css("display", "block")//顯示暫無資料
                            $(".weui-loadmore_line").html('資料異常')
                        }

                    }
                })
            };
            //    貼吧分頁載入
            tplDrawing({
                category_id: '',
                page: 1,
                page_size: 8,
                state: ''
            });
            $(".scroll-container").infinite().on("infinite", function () {
                // console.log(1111);
                if (loading) return;
                loading = true;
                var cfg = {
                    category_id: category_id,
                    page: page,
                    page_size: page_size,
                    state: state
                }
                tplDrawing(cfg);
            });
 //點選分類切換列表
            $(document).on("click",'.scroll_item_li',function () {
                $(this).addClass('active');
                $(this).siblings().removeClass('active');
                 category_id = $(this).data("id"); //分類id
                $(".msg").html(""); //清空模板
                page = 1;//重新從第一頁開始載入
                var cfg = {
                    category_id: category_id,
                    page: page,
                    page_size: page_size,
                    state: state
                };
                tplDrawing(cfg);

            });
//    點選切換排序
            $(document).on("click",".list_item",function () {
                $(this).addClass('active');
                $(this).siblings().removeClass('active');
                 state = $(this).data("id"); //排序id
                $(".msg").html(""); //清空模板
                page = 1; //重新從第一頁載入
                var cfg = {
                    classify_id: category_id,
                    page: page,
                    page_size: page_size,
                    state: state
                };
                tplDrawing(cfg);

            });

寫的不好 不懂得可以加Q 747809088