首頁 >web前端 >js教程 >ajax實現點擊載入更多資料圖(預先載入)

ajax實現點擊載入更多資料圖(預先載入)

青灯夜游
青灯夜游轉載
2018-10-11 17:59:323087瀏覽

本文要跟大家介紹ajax如何實現點擊載入更多資料圖片(預先載入)效果的,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>ajax点击加载更多数据--博客园--勇淘未来</title>
        <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
        <style>
            *{padding:0;margin:0;}
            .box {margin: 100px auto;width: 550px;}
            ul li {width:550px;list-style: none;}
            ul li span{text-align:center;display:block;}
            .clear {clear: both;}
            .load {text-align: center;display: none;margin-top:50px;color:#ccc;}
            .end{display:none;color:#ccc;}
        </style>
    </head>
    <body>
        <div class="box">
            <ul></ul>
            <div class="clear"></div>
            <div class="load">加载中...</div>
            <div class="more" style="text-align: center;margin-top:50px;">
                <button class="btn">查看更多图片</button>
                <div class="end">没有更多了</div>
            </div>
        </div>
        <script>
            var num = 0;
            var start = 0;
            var size = 2;
            $.ajax({
                url: "dataNews.json",
                type: "get",
                success: function(res){
                    var str = "";
                    for(var i = 0;i < 2;i++){
                        str += "<li><img src=" + res[i].img + "><span>"+ res[i].title +"</span></li>";
                    }
                    $(".box ul").append(str);
                },
                error:function(){
                    console.log(errors);
                }
            })
            $(".btn").click(function(){
                $(".load").show();
                setTimeout(function(){
                    $(".load").hide();
                    num++;
                    console.log(num);
                    start = num * size;
                    $.ajax({
                        url:"dataNews.json",
                        type:"get",
                        success:function(res){
                            var sum = res.length;
                            if(start + size > sum) {
                                size = sum - start;
                                $(".btn").css("display","none");
                                $(".end").css("display","block");
                            }
                            var str = "";
                            for(var i = start;i<(start + size);i++) {
                                str += "<li><img src=" + res[i].img + "><span>"+ res[i].title +"</span></li>";
                            }
                            console.log(start + size);
                            $("ul").append(str);
                        }
                    });
                },300)
            }
        )
        </script>
</body>
</html>

本地測試dataNews.json檔案:

[ {
	"img":"img/sina.jpg","title":"百度音乐1"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐2"
}
, {
	"img":"img/sina.jpg","title":"百度音乐3"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐4"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐5"
}
, {
	"img":"img/sina.jpg","title":"百度音乐6"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐7"
}
, {
	"img":"img/sina.jpg","title":"百度音乐8"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐9"
}
, {
	"img":"img/sina.jpg","title":"百度音乐10"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐11"
}
, {
	"img":"img/sina.jpg","title":"百度音乐12"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐13"
}
, {
	"img":"img/sina.jpg","title":"百度音乐14"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐15"
}
]

點擊更多圖片,載入2個數據,當數據載入完了,就顯示「沒有更多了」

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關教學請造訪AJAX影片教學

以上是ajax實現點擊載入更多資料圖(預先載入)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除