浏览器js做简单分页(JQuery)
-
注意,正经需求千万不要用js在浏览器分页,数据太多浏览器压力会很大,实测4W张图片浏览器卡死,如果不想加班老老实实在服务器端做分页吧!
-
此js分页适用于数据量较小的情况
-
使用:
-
按文件内结构引入相关资源
-
创建div
-
在此div上初始化分页
-
更多模板访问http://www.jq22.com
<div class="zxf_pagediv"></div>
<script type="text/javascript">
/*
* js实现分页,适用于数据div被外层div包含的情况
* <div id="masonry">
* <div src="data"/>
* <div src="data"/>
* <div src="data"/>
* ...
* </div>
*/
var len = 12;//定义每页长度
var $wrapper = $("div#" + "masonry");
/*
* 业务逻辑
*/
var all = $wrapper.find("div").length;//所有记录数
var cnt = Math.ceil(all / len);.//总页数
var pre = 1;//记录之前的页数
//
function show(page,len,attr) {
var start = (page-1) * len;
var end = start + len;
for (var i = start ; i < end;i++)
$wrapper.find("div:eq(" + i + ")").attr("style","display:"+attr+";");
}
//show(1,all,'none');//关闭所有div显示,性能更好一点应该是服务器端在每个div上加display:none
show(1,len,'block');//显示第一页
//翻页
$(".zxf_pagediv").createPage({
pageNum: cnt,
current: 1,
backfun: function(e) {
if (e.current < 1 || e.current > cnt){
alert('当前页数不存在,回到首页!');
e.current = 1;
}
show(pre,len,'none');//隐藏上一页
show(e.current,len,'block');//显示当前页
pre = e.current;//记录当前页
}
});
</script>
网友评论