代码实例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 相关文章推荐
document.onreadystatechange事件的用法分析
Oct 17 Javascript
最简单的js图片切换效果实现代码
Sep 24 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
jsonp跨域获取数据的基础教程
Jul 01 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
详细介绍解决vue和jsp结合的方法
Feb 06 Javascript
JavaScript获取时区实现过程解析
Sep 24 Javascript
浅谈react路由传参的几种方式
Mar 23 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
vue生命周期的探索
2019/04/03 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
医科大学毕业生自荐信
2014/02/03 职场文书
卖房协议书
2014/04/11 职场文书
挂靠协议书范本
2014/04/22 职场文书
英语教师求职信
2014/06/16 职场文书
求职教师自荐书
2014/06/19 职场文书
自主招生专家推荐信
2015/03/26 职场文书
肖申克救赎观后感
2015/06/02 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
python基于turtle绘制几何图形
2021/06/15 Python
python 网络编程要点总结
2021/06/18 Python
新手初学Java List 接口
2021/07/07 Java/Android
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers