代码实例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 31 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
js实现仿爱微网两级导航菜单效果代码
Aug 31 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
js实现可键盘控制的简单抽奖程序
Jul 13 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
vue.js中npm安装教程图解
Apr 10 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 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判断远程url是否有效的几种方法小结
2011/10/08 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
深入理解PHP中的count函数
2016/05/31 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
浅谈Angular4中常用管道
2017/09/27 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
python实现抽奖小程序
2020/04/15 Python
Python中base64与xml取值结合问题
2019/12/22 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
最经典的商业地产项目广告词
2014/03/13 职场文书
取保候审保证书
2014/04/30 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
爱心捐款活动总结
2015/05/09 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
敬老院活动感想
2015/08/07 职场文书
多人股份制合作协议书
2016/03/19 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL
springboot实现string转json json里面带数组
2022/06/16 Java/Android