JavaScript

超轻量级php框架startmvc

代码实例ajax实现点击加载更多数据图片

更新时间:2020-08-01 07:54:01 作者:startmvc
本文给大家介绍ajax如何实现点击加载更多数据图片(预加载)效果的,有一定的参考价值

本文给大家介绍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 加载图片