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


Posted in Javascript onOctober 12, 2018

本文给大家介绍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条数据,当数据加载完了,就显示 “没有更多了”

Javascript 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
基于jquery的3d效果实现代码
Mar 23 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
关于javascript event flow 的一个bug详解
Sep 17 Javascript
jquery实现pager控件示例
Apr 09 Javascript
jQuery中:visible选择器用法实例
Dec 30 Javascript
js如何准确获取当前页面url网址信息
Sep 13 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
May 03 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
async/await地狱该如何避免详解
May 10 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 Javascript
简单实现节流函数和防抖函数过程解析
Oct 08 Javascript
vue项目环境变量配置的实现方法
Oct 12 #Javascript
原生JS实现自定义下拉单选选择框功能
Oct 12 #Javascript
原生JS实现轮播图效果
Oct 12 #Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 #Javascript
Element Input组件分析小结
Oct 11 #Javascript
element el-input directive数字进行控制
Oct 11 #Javascript
详解angular2.x创建项目入门指令
Oct 11 #Javascript
You might like
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP CURL使用详解
2019/03/21 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
javascript动画浅析
2012/08/30 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
Python正则表达式经典入门教程
2017/05/22 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
python判断设备是否联网的方法
2018/06/29 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
华为python面试题
2016/05/03 面试题
公关关系专员的自我评价分享
2013/11/20 职场文书
送货司机岗位职责
2013/12/11 职场文书
2014年校长工作总结
2014/12/11 职场文书
2015年财政局工作总结
2015/05/21 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
资产移交协议书
2016/03/24 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书