js加强的经典分页实例


Posted in Javascript onMarch 15, 2013

1显示的页面:

<!DOCTYPE html>
< html>
<head>
<title>js_pageusers.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="./js/pageuser.js"></script>
</head>
<body>
<div id="one" align="center">
<div>
用户名:
<input type="text" id="userName" />
性别:
<input type="text" id="userSex" />
职业:
<input type="text" id="userRole" />
<br />
<br />
<input type="button" id="addUsers" value="添加用户" />
<input type="button" id="updateUsers" value="更新用户" />
</div>
<br />
<br />
<div>
<table border="1px" cellpadding="0" cellspacing="0" width="500px;">
<thead>
<th>
用户名
</th>
<th>
性别
</th>
<th>
职业
</th>
</thead>

<tbody id="showUsers"></tbody>
</table>
<div>
<input type="button" id="firstPage" value="首页"/>
<input type="button" id="backPage" value="上一页"/>
<input type="button" id="nextPage" value="下一页"/>
<input type="button" id="lastPage" value="末页"/>
<span id="msg"></span>
</div>
</div>

</div>
</body>
</html>

2.

window.onload =function(){
var pagesize = 3;//每页显示的记录数
var recondsize = 0;//总记录数
var countpage = 0;//总页数
var nowpage= 1;
var users = new Array();//存放所有的记录
var start = 0; //保存当前页开始的记录
var end = 0 ;//保存当前页结束的记录
var domUserName = $("userName");
var domUserSex = $("userSex");
var domUserRole = $("userRole");
var domshowUsers = $("showUsers");
var addBtn = $("addUsers");
//为按钮注册事件
addBtn.onclick = function() {
//创建user对象
var user = new User(domUserName.value, domUserSex.value,
domUserRole.value);
//把user对象存放数组中
users.push(user);
recondsize = users.length; //得出总记录数
//计算出总页数
countpage = recondsize % pagesize == 0 ? recondsize / pagesize : Math
.ceil(recondsize / pagesize);
if (recondsize > pagesize) { //当总记录大于pagezie 思路 从后往前数3个数
start = recondsize-pagesize;
end=recondsize;
}else{ // pagesize start =1;
start=0;
end=recondsize; //end=实际的个数 就是 recondsize
}
 //调用显示user的方法
 showUser(users,start,end,recondsize,countpage,domshowUsers);
}
 //获取分页相关的按钮
var firstPage = $("firstPage");
var backPage = $("backPage");
var nextPage = $("nextPage");
var lastPage = $("lastPage");
firstPage.onclick = function() {
nowpage = 1;
if (recondsize<= pagesize && recondsize > 0) {
start = 0;
end = recondsize;
}else{
start=0;
end=pagesize;
}
showUser(users,start,end,recondsize,countpage,domshowUsers);
}

backPage.onclick = function() {
nowpage = nowpage-1;//重新赋值
if(nowpage<=1){
nowpage=1;
}
if (recondsize <= pagesize && recondsize > 0) {
start = 0;
end = recondsize;
}else{
start=(nowpage-1)*pagesize;
end = (nowpage-1)*pagesize+pagesize;
}
showUser(users,start,end,recondsize,countpage,domshowUsers);
}
nextPage.onclick = function() {
nowpage = nowpage+1;//重新赋值
if(nowpage>=countpage){
nowpage=countpage;
}
if (recondsize <= pagesize && recondsize > 0) {
start = 0;
end = recondsize;
}else{
start=(nowpage-1)*pagesize;
if((nowpage-1)*pagesize+pagesize>=recondsize){
 end = recondsize;
}else{
end =(nowpage-1)*pagesize+pagesize;
}
}
showUser(users,start,end,recondsize,countpage,domshowUsers);
}
lastPage.onclick = function() {
nowpage = countpage;//重新赋值
if (recondsize <= pagesize && recondsize > 0) {
start = 0;
end = recondsize;
}else{ 
 start=(nowpage-1)*pagesize;
 end = recondsize;
}
showUser(users,start,end,recondsize,countpage,domshowUsers);
}
} 
//创建一个Function函数 函数是保存User对象数据的
function User(name, sex, role) {
this.name = name;
this.sex = sex;
this.role = role;
}
function $(id) {
return document.getElementById(id);
}
function showUser(users,start,end,recondsize,countpage,domshowUsers){
//清空数据
for ( var jj = 0; jj < domshowUsers.childNodes.length;) {
domshowUsers.removeChild(domshowUsers.childNodes[jj]);
}
 //for循环添加的
 for(var i=start;i<end;i++){
 var user = users[i];//考虑
 //创建一行
var tr = document.createElement("tr");
//创建列
var td1 = document.createElement("td");
//创建文本节点
var td1TextNode = document.createTextNode(user.name);
//文本节点添加到td中
td1.appendChild(td1TextNode);
//创建列
var td2 = document.createElement("td");
//创建文本节点
var td2TextNode = document.createTextNode(user.sex);
//文本节点添加到td中
td2.appendChild(td2TextNode);
//创建列
var td3 = document.createElement("td");
//创建文本节点
var td3TextNode = document.createTextNode(user.role);
//文本节点添加到td中
td3.appendChild(td3TextNode);
//把列添加到行中
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
//把行添加到tbody中
if(domshowUsers.hasChildNodes()){
domshowUsers.insertBefore(tr,domshowUsers.firstChild);//再最后一个数据之前添加数据
}else{
 domshowUsers.appendChild(tr);//添加到末尾
}
}
 document.getElementById("msg").innerHTML = "总共:{" + recondsize
+ "}条记录,共{" + countpage + "}页";
}
Javascript 相关文章推荐
Javascript里使用Dom操作Xml
Jan 22 Javascript
javascript 触发事件列表 比较不错
Sep 03 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
Apr 16 Javascript
Javascript之图片的延迟加载的实例详解
Jul 24 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
vuex分模块后,实现获取state的值
Jul 26 Javascript
vue中的循环对象属性和属性值用法
Sep 04 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 22 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 #Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
Mar 15 #Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 #Javascript
JavaScript 函数replace深入了解
Mar 14 #Javascript
JS异常处理的一个想法(sofish)
Mar 14 #Javascript
JQuery 中几个类选择器的简单使用介绍
Mar 14 #Javascript
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 #Javascript
You might like
php异常处理技术,顶级异常处理器
2012/06/13 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
专升本个人自我评价
2013/12/22 职场文书
大学新生欢迎词
2014/01/10 职场文书
高中体育教学反思
2014/01/29 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
员工聘用合同范本
2015/09/21 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫