• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > Ajax点击不断加载数据列表

Ajax点击不断加载数据列表

作者:坐井不观天可以睡眠 字体:[增加 减小] 来源:互联网 时间:2017-05-11

坐井不观天可以睡眠通过本文主要向大家介绍了Ajax点击不断加载数据列表等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Ajax简介

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

实现每一种功能都有各种各样的方法和思路,今天总结我的一个小小的加载功能。

加载很常见,每一位手机控都对她再熟不过了。每次我们在刷微博、朋友圈、空间······,滑到一定的量时,会提醒上滑加载更多,这是一种加载方式;还有一种就是点击加载,点击加载一定的量,再点击,再加载一定的量(说了一大堆废话)。

现在我们就来说说ajax逐个加载数据,类似这样的数据列表。

先是显示10个,然后点击加载更多,再显示10个·····

一、思路

一般使用ajax加载的话,一下会加载全部数据,这次要控制量的加载,那就要用到判断,判断加载到10个停止加载,后面通过点击按钮,在接着加载完的10个后面继续加载。

要想控制只加载10个怎么办捏。不能通过遍历的 i 来判断 10个,因为加载完10个后后面还要加载,这样下一个10个就不好判断了,所以需要定义一个新的变量,来计算加载的个数,

可以这样写:

var ci = 0;
for(var i = 0; i < data.list.length; i++){
  ci++; 
  if(ci> 10){
  break;
  }
}
</div>

然后需要再加载10个,再调用这个方法,所以这个方法需要声明一个函数名,下次需要用的时候在调用,如果需要传参也可以。现在还有个问题,第一次进来加载完10个后,需要再加载前10个数据接着后面的json数据,怎么办呢???

没关系,可以通过调用上面定义好的函数,然后传参。参数怎么计算呢???

先想一个参数和什么有关系,和 i 有关系,i 和什么有关系呢?或者说什么可以影响 i 呢?

好像只有它的值才会影响(那不是废话吗),这样的话它的值就不能是一个不变的数了,只能是一个变量,那么变量从哪里来呢???

别忘了我们还有一个点击事件,先定义一个 点击次数 的变量 var clickNum = 0,因为每次加载时10个,所以 i 的值应该为:

i = 10*clickNum,这是每次加载第一个数据的索引值。这样我们就解决了上面那个问题。

此时还有问题要解决,当数据全部点击加载完后,点击按钮需要隐藏,那怎么计算数据加载完了呢???

我们可以通过 点击的次数clickNum 来计算,因为每次加载10个,所以可以计算出一共需要加载的次数 parseInt((data.list.length)/10)+1,为什么加载的次数要加 1 呢?

因为parseInt()是取整,比如21/10=2,但实际需要加载 3 次,所以要加 1 ,巧的是我们第一次加载不用点击,浏览器已加载进来就读取了10个数据,

所以clickNum = parseInt((data.list.length)/10),当clickNum == parseInt((data.list.length)/10) 时隐藏点击按钮。

思路基本清晰了

二、实现功能

HTML:

<dl id="incomeNum">
  <dt><em></em>每日分配收益</dt>
</dl>
<div class="jiaZai_more">点击查看更多</div>
</div>

css:

此处省略css。

js:

function nwalletProfit(num, cNum){
$.ajax({
type: "post",
async: true,
url: url,
dataType: "json",
success: function (data) {
if (data.list.length > 0){
var i = num;
var ci= 0;
var x = parseInt((data.profit_list.length)/10);//x为每10个一组的组数
if(cNum >= x){
$(".jiaZai_more").hide(); //当点击更多的次数 ≥ 组数时,隐藏按钮
}
for(; i < data.profit_list.length; i++){
var htmltxt = "";
ci++; 
var date = data.profit_list[i].date;
var year = date.substring(0, 4);
var month = date.substring(4, 6);
var day = date.substring(6);
date = year+'年'+month+'月'+day+'日';
htmltxt += '<dd>';
htmltxt += '<h5 class="date">'+date+'</h5>';
htmltxt += '<p class="income">'+data.list[i].profit+'%</p>';
if(ci> 10){
break;
}
$("#incomeNum").append(htmltxt);
}
}
},
error: function (e, d, c) {
console.log(d)
}
});
}
nwalletProfit(0);
var clickNum = 0; //点击的次数
$(".jiaZai_more").on('click', function(event) {
event.preventDefault();
clickNum++;
var iNum = 10*clickNum; //每次点击开始加载的第一个索引值
nwalletProfit(iNum, clickNum);
});
</div>

以上所述是小编给大家介绍的Ajax点击不断加载数据列表,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11ajax 异步获取数据实现代码 (js创建ajax对象)
  • 2017-05-11AJAX应用之草稿自动保存
  • 2017-05-11AJax与Jsonp跨域访问问题小结
  • 2017-05-11AJAX入门之XMLHttpRequest慨述
  • 2017-05-11用实现ajax读博客rss示例代码
  • 2017-05-11JQuery ajax 返回json时出现中文乱码该如何解决
  • 2017-05-11全面解析$.Ajax()方法参数(推荐)
  • 2017-05-11Ajax跨域问题的解决办法汇总(推荐)
  • 2017-05-11IE9版本以下ajax 跨域问题可行解决方法
  • 2017-05-11ajax实现远程通信

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Ajax与mysql数据交互制作留言板功能(全)
    • AJAX在不同浏览器中XMLHttpRequest对象的生成示例
    • Ajax 学习资源 中外都有
    • AJAX简单测试代码实例
    • 那些年,我还在学习Ajax 学习笔记
    • AJAX获取服务器当前时间及时间格式输出处理
    • 基于ajax的简单搜索实现方法
    • AJAX请求类
    • ajax回调打开新窗体防止浏览器拦截有效方法
    • 浅析巧用Ajax的beforeSend提高用户体验

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有