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 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
快速排序 php与javascript的不同之处
Feb 22 Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
用js实现小球的自由移动代码
Apr 22 Javascript
js去除空格的12种实用方法
Nov 08 Javascript
使用angularjs创建简单表格
Jan 21 Javascript
RequireJS使用注意细节
May 15 Javascript
AngularJS 简单应用实例
Jul 28 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
Sep 16 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
angular2路由之routerLinkActive指令【推荐】
May 30 Javascript
js实现移动端轮播图滑动切换
Dec 21 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
Js组件的一些写法
2010/09/10 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
vue实现拖拽效果
2019/12/23 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
职称自我鉴定
2013/10/15 职场文书
团代会主持词
2014/04/02 职场文书
推荐信格式要求
2014/05/09 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
邀请函的格式
2015/01/30 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
MySQL池化框架学习接池自定义
2022/07/23 MySQL