ajax实现点击加载更多数据图片(预加载)

青灯夜游
青灯夜游 转载
2018-10-11 17:59:31 2499浏览

本文给大家介绍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中文网其它相关文章!

声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除