分页功能的简单实现。使用模板引擎
2018-12-27 07:42:08来源:博客园 阅读 ()
思路:页面上动态生成 上一页(i-1), i - 2,i - 1 ,i, i + 1,, i +2 ,下一页(i+1) 。7个按钮。其中 i 是当前页码。
在模板中判断 i - 1 ,i - 2 是否小于0 ,是则不生成按钮。同理判断 i + 1 ,i + 2 是否大于最大页码。
在按钮中自定义属性 date - page存储页码。根据页码发送ajax请求 获取数据。
代码:
<script src="../static/assets/vendors/jquery/jquery.js"></script> <script src="../static/assets/vendors/art-template/template-web.js"></script> //引入模板引擎 <script type = "text/template" id = "pageList"> {{if(currentPage - 1 > 0)}}<li data-page="{{currentPage - 1}}"><a href="#">上一页</a></li> {{/if}} {{if(currentPage - 2 > 0)}}<li data-page="{{currentPage - 2}}"><a href="#">{{currentPage - 2}}</a></li>{{/if}} {{if(currentPage - 1 > 0)}}<li data-page="{{currentPage - 1}}"><a href="#">{{currentPage - 1}}</a></li>{{/if}} <li class = "active" data-page="{{currentPage}}"><a href="#" >{{currentPage}}</a></li> {{if(currentPage + 1 <= maxPage)}}<li data-page="{{currentPage + 1}}"><a href="#">{{currentPage + 1}}</a></li>{{/if}} {{if(currentPage + 2 <= maxPage)}}<li data-page="{{currentPage + 2}}"><a href="#">{{currentPage + 2}}</a></li>{{/if}} {{if(currentPage + 1 <= maxPage)}}<li data-page="{{currentPage + 1}}"><a href="#">下一页</a></li>{{/if}} </script> $(function(){ //页面初始化 var currentPage = 1; var pageSize = 20; //参数1(页码)参数2(每页数据条数) function getPostData(currentPage,pageSize){ $.ajax({ type:"post", url:"./api/getPosts.php", data:{ currentPage:currentPage, pageSize:pageSize }, dataType:"json", success:function(res){ if(res.code == 1){ var maxPage = Math.ceil(res.count/pageSize); //res.count 后台返回的数据总条数 var page_html = template("pageList",{currentPage:currentPage,maxPage:maxPage}); //调用模板引擎生成 html 结构 $(".pagination").html(page_html); //注意 不能使用 appendTo()追加。html() 相当于局部刷新 } } }); } getPostData(currentPage,pageSize); $(".pagination").on("click","li",function(){
//如果点击当前页码 return false if(currentPage == parseInt( $(this).attr("data-page"))){ return false; }else{ currentPage = parseInt( $(this).attr("data-page")); } getPostData(currentPage,pageSize); }); }); </script>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:数组&对象
- JS简单去除数组中重复项的方法 2020-03-16
- JS判断浏览器是否安装flash插件的简单方法 2020-03-12
- JavaScript简单下拉菜单特效 2020-02-22
- web如何实现页面分页打印 2020-02-14
- 详解HTML5 使用video标签实现选择摄像头功能 2020-02-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash