js加強(qiáng)的經(jīng)典分頁實(shí)例
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" />
職業(yè):
<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>
職業(yè)
</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;//每頁顯示的記錄數(shù)
var recondsize = 0;//總記錄數(shù)
var countpage = 0;//總頁數(shù)
var nowpage= 1;
var users = new Array();//存放所有的記錄
var start = 0; //保存當(dāng)前頁開始的記錄
var end = 0 ;//保存當(dāng)前頁結(jié)束的記錄
var domUserName = $("userName");
var domUserSex = $("userSex");
var domUserRole = $("userRole");
var domshowUsers = $("showUsers");
var addBtn = $("addUsers");
//為按鈕注冊(cè)事件
addBtn.onclick = function() {
//創(chuàng)建user對(duì)象
var user = new User(domUserName.value, domUserSex.value,
domUserRole.value);
//把user對(duì)象存放數(shù)組中
users.push(user);
recondsize = users.length; //得出總記錄數(shù)
//計(jì)算出總頁數(shù)
countpage = recondsize % pagesize == 0 ? recondsize / pagesize : Math
.ceil(recondsize / pagesize);
if (recondsize > pagesize) { //當(dāng)總記錄大于pagezie 思路 從后往前數(shù)3個(gè)數(shù)
start = recondsize-pagesize;
end=recondsize;
}else{ // pagesize start =1;
start=0;
end=recondsize; //end=實(shí)際的個(gè)數(shù) 就是 recondsize
}
//調(diào)用顯示user的方法
showUser(users,start,end,recondsize,countpage,domshowUsers);
}
//獲取分頁相關(guān)的按鈕
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);
}
}
//創(chuàng)建一個(gè)Function函數(shù) 函數(shù)是保存User對(duì)象數(shù)據(jù)的
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){
//清空數(shù)據(jù)
for ( var jj = 0; jj < domshowUsers.childNodes.length;) {
domshowUsers.removeChild(domshowUsers.childNodes[jj]);
}
//for循環(huán)添加的
for(var i=start;i<end;i++){
var user = users[i];//考慮
//創(chuàng)建一行
var tr = document.createElement("tr");
//創(chuàng)建列
var td1 = document.createElement("td");
//創(chuàng)建文本節(jié)點(diǎn)
var td1TextNode = document.createTextNode(user.name);
//文本節(jié)點(diǎn)添加到td中
td1.appendChild(td1TextNode);
//創(chuàng)建列
var td2 = document.createElement("td");
//創(chuàng)建文本節(jié)點(diǎn)
var td2TextNode = document.createTextNode(user.sex);
//文本節(jié)點(diǎn)添加到td中
td2.appendChild(td2TextNode);
//創(chuàng)建列
var td3 = document.createElement("td");
//創(chuàng)建文本節(jié)點(diǎn)
var td3TextNode = document.createTextNode(user.role);
//文本節(jié)點(diǎn)添加到td中
td3.appendChild(td3TextNode);
//把列添加到行中
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
//把行添加到tbody中
if(domshowUsers.hasChildNodes()){
domshowUsers.insertBefore(tr,domshowUsers.firstChild);//再最后一個(gè)數(shù)據(jù)之前添加數(shù)據(jù)
}else{
domshowUsers.appendChild(tr);//添加到末尾
}
}
document.getElementById("msg").innerHTML = "總共:{" + recondsize
+ "}條記錄,共{" + countpage + "}頁";
}
相關(guān)文章
js數(shù)值計(jì)算時(shí)使用parseInt進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換(jquery)
這篇文章主要介紹了js數(shù)值計(jì)算時(shí)使用parseInt進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換(jquery),需要的朋友可以參考下2014-10-10
JavaScript利用閉包實(shí)現(xiàn)模塊化
本文主要介紹了JavaScript利用閉包實(shí)現(xiàn)模塊化的方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
基于JavaScript實(shí)現(xiàn)表單密碼的隱藏和顯示出來
為了網(wǎng)站的安全性,很多朋友都把密碼設(shè)的比較復(fù)雜,但是如何密碼不能明顯示,不知道輸?shù)氖菍?duì)是錯(cuò),為了安全起見可以把密碼顯示的,那么基于js代碼如何實(shí)現(xiàn)的呢?下面通過本文給大家介紹JavaScript實(shí)現(xiàn)表單密碼的隱藏和顯示,需要的朋友參考下2016-03-03
javascript實(shí)現(xiàn)禁止復(fù)制網(wǎng)頁內(nèi)容
這篇文章主要介紹了javascript實(shí)現(xiàn)禁止復(fù)制網(wǎng)頁內(nèi)容,需要的朋友可以參考下2014-12-12
Layui彈框中數(shù)據(jù)表格中可雙擊選擇一條數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Layui彈框中數(shù)據(jù)表格中可雙擊選擇一條數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
electron 無邊框窗口拖拽移動(dòng)問題及解決辦法
在做一款uTools的插件,懸浮文本,窗口是沒有標(biāo)題欄的,所以需要找一個(gè)地方可以拖動(dòng)移動(dòng)位置,本文給大家介紹electron 無邊框窗口拖拽移動(dòng)問題及解決辦法,感興趣的朋友一起看看吧2023-12-12
JavaScript簡單實(shí)現(xiàn)的仿微博留言功能示例
這篇文章主要介紹了JavaScript簡單實(shí)現(xiàn)的仿微博留言功能,涉及javascript頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01

