代码实例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 相关文章推荐
js判断变量初始化的三种形式及推荐用的形式
Jul 22 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
node中的密码安全(加密)
Sep 17 Javascript
微信小程序登录数据解密及状态维持实例详解
May 06 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 Javascript
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
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 中的4种标记风格介绍
2012/05/10 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP培训要多少钱
2017/06/06 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
div层的移动及性能优化
2010/11/16 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python中property属性实例解析
2018/02/10 Python
想学python 这5本书籍你必看!
2018/12/11 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
通信工程专业毕业生推荐信
2013/12/25 职场文书
母亲节演讲稿
2014/05/27 职场文书
离职证明标准格式
2014/09/15 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2014年管理工作总结
2014/11/22 职场文书
导游词范文
2015/02/13 职场文书
大学同学聚会感言
2015/07/30 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python