js加载更多
来源:互联网 发布:凡科建站申请免费域名 编辑:程序博客网 时间:2024/06/14 20:17
这里提前准备好数据。
演示数据格式:blog.json{ "list": [ { "title": "这是title", "url": "http://www.cnblogs.com/52fhy/p/5271447.html", "desc": "摘要" }, { "title": "这是title2", "url": "http://www.cnblogs.com/52fhy/p/4823390.html", "desc": "摘要" }]}
页面html:
<div class="content"> <div class="weui_panel weui_panel_access"> <div class="weui_panel_hd">文章列表</div> <div class="weui_panel_bd js-blog-list"> </div> </div> <!--加载更多按钮--> <div class="js-load-more">加载更多</div></div><script src="js/zepto.min.js"></script>加载更多的js代码:$(function(){ /*初始化*/ var counter = 0; /*计数器*/ var pageStart = 0; /*offset*/ var pageSize = 4; /*size*/ /*首次加载*/ getData(pageStart, pageSize); /*监听加载更多*/ $(document).on('click', '.js-load-more', function(){ counter ++; pageStart = counter * pageSize; getData(pageStart, pageSize); });});
这里的代码并不多。其中getData(pageStart, pageSize)是业务逻辑代码,负责从服务端拉去数据。这里给个示例:
function getData(offset,size){ $.ajax({ type: 'GET', url: 'json/blog.json', dataType: 'json', success: function(reponse){ var data = reponse.list; var sum = reponse.list.length; var result = ''; /****业务逻辑块:实现拼接html内容并append到页面*********/ //console.log(offset , size, sum); /*如果剩下的记录数不够分页,就让分页数取剩下的记录数 * 例如分页数是5,只剩2条,则只取2条 * * 实际MySQL查询时不写这个不会有问题 */ if(sum - offset < size ){ size = sum - offset; } /*使用for循环模拟SQL里的limit(offset,size)*/ for(var i=offset; i< (offset+size); i++){ result +='<div class="weui_media_box weui_media_text">'+ '<a href="'+ data[i].url +'" target="_blank"><h4 class="weui_media_title">'+ data[i].title +'</h4></a>'+ '<p class="weui_media_desc">'+ data[i].desc +'</p>'+ '</div>'; } $('.js-blog-list').append(result); /*******************************************/ /*隐藏more按钮*/ if ( (offset + size) >= sum){ $(".js-load-more").hide(); }else{ $(".js-load-more").show(); } }, error: function(xhr, type){ alert('Ajax error!'); } });}
阅读全文
0 0
- 加载更多JS原理
- js加载更多代码
- js加载更多
- js加载更多
- js分页加载更多
- 下拉加载更多DEMO(js实现)
- js 简单的下拉加载更多
- 下拉加载更多DEMO(js实现)
- js点击按钮加载更多效果
- 下拉加载更多DEMO(js实现)
- js代码实现“文章加载更多”
- js实现『加载更多』
- js滑动到底部加载更多
- js实现加载更多功能实例
- js实现加载更多的功能
- vue.js 列表数据加载更多
- js实现加载更多功能实例
- thinkphp5.0+js 手机下拉加载更多
- 后台对前台传入的json数据进行数据类型判断
- Java向上转型和向下转型
- 根据SPI协议进行数据的收发验证
- 信源编码第四次作业-基于LBG的矢量量化算法
- UVa 725
- js加载更多
- .NET Core 事件总线,分布式事务解决方案:CAP
- RxJava 详解
- Myeclipse配置maven
- 第一次上线总结
- websphere服务三:websphere版本查看
- 单播&&多播
- 栈和队列--求子数组的最大和
- Lua 基础之与 C 交互