js加强的经典分页实例
1显示的页面:
<!DOCTYPEhtml>
<html>
<head>
<title>js_pageusers.html</title>
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp-equiv="description"content="thisismypage">
<metahttp-equiv="content-type"content="text/html;charset=UTF-8">
<!--<linkrel="stylesheet"type="text/css"href="./styles.css">-->
<scripttype="text/javascript"src="./js/pageuser.js"></script>
</head>
<body>
<divid="one"align="center">
<div>
用户名:
<inputtype="text"id="userName"/>
性别:
<inputtype="text"id="userSex"/>
职业:
<inputtype="text"id="userRole"/>
<br/>
<br/>
<inputtype="button"id="addUsers"value="添加用户"/>
<inputtype="button"id="updateUsers"value="更新用户"/>
</div>
<br/>
<br/>
<div>
<tableborder="1px"cellpadding="0"cellspacing="0"width="500px;">
<thead>
<th>
用户名
</th>
<th>
性别
</th>
<th>
职业
</th>
</thead>
<tbodyid="showUsers"></tbody>
</table>
<div>
<inputtype="button"id="firstPage"value="首页"/>
<inputtype="button"id="backPage"value="上一页"/>
<inputtype="button"id="nextPage"value="下一页"/>
<inputtype="button"id="lastPage"value="末页"/>
<spanid="msg"></span>
</div>
</div>
</div>
</body>
</html>
2.
window.onload=function(){
varpagesize=3;//每页显示的记录数
varrecondsize=0;//总记录数
varcountpage=0;//总页数
varnowpage=1;
varusers=newArray();//存放所有的记录
varstart=0;//保存当前页开始的记录
varend=0;//保存当前页结束的记录
vardomUserName=$("userName");
vardomUserSex=$("userSex");
vardomUserRole=$("userRole");
vardomshowUsers=$("showUsers");
varaddBtn=$("addUsers");
//为按钮注册事件
addBtn.onclick=function(){
//创建user对象
varuser=newUser(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{//pagesizestart=1;
start=0;
end=recondsize;//end=实际的个数就是recondsize
}
//调用显示user的方法
showUser(users,start,end,recondsize,countpage,domshowUsers);
}
//获取分页相关的按钮
varfirstPage=$("firstPage");
varbackPage=$("backPage");
varnextPage=$("nextPage");
varlastPage=$("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对象数据的
functionUser(name,sex,role){
this.name=name;
this.sex=sex;
this.role=role;
}
function$(id){
returndocument.getElementById(id);
}
functionshowUser(users,start,end,recondsize,countpage,domshowUsers){
//清空数据
for(varjj=0;jj<domshowUsers.childNodes.length;){
domshowUsers.removeChild(domshowUsers.childNodes[jj]);
}
//for循环添加的
for(vari=start;i<end;i++){
varuser=users[i];//考虑
//创建一行
vartr=document.createElement("tr");
//创建列
vartd1=document.createElement("td");
//创建文本节点
vartd1TextNode=document.createTextNode(user.name);
//文本节点添加到td中
td1.appendChild(td1TextNode);
//创建列
vartd2=document.createElement("td");
//创建文本节点
vartd2TextNode=document.createTextNode(user.sex);
//文本节点添加到td中
td2.appendChild(td2TextNode);
//创建列
vartd3=document.createElement("td");
//创建文本节点
vartd3TextNode=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+"}页";
}
相关文章
- js的sort排序方法_sort对象排序
- js对象转数组_声明一个string类型的数组
- 刷完15道js版dp题,面试再也不怕了
- js中判断数组中是否包含某元素的方法有哪些_js判断数组里面是否包含某个元素
- js浅拷贝和深拷贝的区别_前端面试深拷贝和浅拷贝
- js 数组去除重复数据-5 个提升你 JS 编码水平的实例
- 【JS 逆向百例】猿人学系列 web 比赛第五题:js 混淆 - 乱码增强,详细剖析
- windows下安装mongodb以及node.js连接mongodb实例
- 网站代码中暗藏JS挖矿机脚本
- 使用JS实现Redis数据读取(js读取redis)
- 利用 JS 实现 Redis 的连接(js连接redis)
- Oracle中使用JS变量管理数据(oracle使用js变量)
- Redis中的订阅机制及其在JS中的应用(redis 订阅 js)
- JS的数组的扩展实例代码
- JS操作日期顺便实现上一周和下一周功能
- js内存释放问题
- 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
- JS继承笔记
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- .NET+JS对用户输入内容进行字数提示功能的实例代码
- JS获得URL超链接的参数值实例代码
- 用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
- JS按钮点击触发(兼容IE、火狐)
- js综合应用实例简单的表格统计
- JS简单实现文件上传实例代码(无需插件)
- js获取当月最后一天实例代码
- 详解JS比较两个Json对象的值是否相等的实例
- JS利用正则配合replace替换指定字符
- js实现弹窗插件功能实例代码分享
- node.js中的socket.io入门实例
- 三种动态加载js的jquery实例代码另附去除js方法