javascript實(shí)現(xiàn)前端分頁(yè)功能
前言:今天給大家?guī)?lái)的是前端數(shù)據(jù)的分頁(yè)功能,供大家參考,具體內(nèi)容如下
先上一波效果圖展示:
直接上代碼:這里使用的是JavaScript來(lái)實(shí)現(xiàn)
關(guān)于代碼詳解都以注釋的方式寫(xiě)在JavaScript里的
HTML:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>分頁(yè)</title> <link rel="stylesheet" href="css/limitFace.css" > </head> <body> <div class="all"> <table id="table"> </table> <div id="inputs"> </div> </div> <script src="js/limitFace.js"></script> </body> </html>
CSS:
*{ padding: 0; margin: 0; font-size: 20px; } .all{ width: 100%; height: 100vh; display: flex; justify-content: center; flex-wrap: wrap; } /*偷懶才用的id*/ #inputs input{ width: 100px; height: 50px; background-color: white; } #table{ width: 90%; } tr{ width: 100%; } td{ text-align: center; width: 50%; height: 10vh; border: 1px solid black; }
JS:
//一下數(shù)據(jù)為模擬集合,個(gè)人理解js中的集合就是將對(duì)象放進(jìn)數(shù)組 var strs = [ { "id":123, "pwd":456 }, { "id":456, "pwd":123 }, { "id":4681, "pwd":9815 }, { "id":471, "pwd":4981 }, { "id":1234789, "pwd":156 }, { "id":789, "pwd":158 }, { "id":"vgwh", "pwd":"vgsya" }, { "id":1, "pwd":"tcv" }, { "id":256, "pwd":"vtc0" } ]; //假設(shè)規(guī)定每頁(yè)顯示長(zhǎng)度為3 var len = 3; //確認(rèn)該集合會(huì)被分成幾頁(yè),分成幾頁(yè)就代表需要幾個(gè)頁(yè)面按鈕,封裝封裝方便多次運(yùn)用 function limits(){ var countLim = Math.ceil(strs.length/len);//余數(shù)也算是一頁(yè),這里用向上取整 //確認(rèn)頁(yè)面按鈕個(gè)數(shù),進(jìn)行循環(huán)顯示到頁(yè)面上 document.getElementById("inputs").innerHTML='';//清空一下 for(var i=1;i<=countLim;i++){ document.getElementById("inputs").innerHTML+='<input type="button" value="'+i+'" onclick="limitinput(this)"/>';//每個(gè)頁(yè)面按鈕都綁定上一個(gè)點(diǎn)擊事件 } } var choose = 0;//創(chuàng)建一個(gè)全局變量用來(lái)保存當(dāng)前處于第幾個(gè)頁(yè)面 //點(diǎn)擊按鈕獲取當(dāng)前按鈕的值進(jìn)行選擇當(dāng)前table是第幾頁(yè)數(shù)據(jù) function limitinput(ids){ choose = ids.value; tablestr(choose);//刷新table數(shù)據(jù) limits();//刷新頁(yè)面按鈕 ids.style.backgroundColor='red';//當(dāng)前點(diǎn)擊的頁(yè)面按鈕背景顏色改變?yōu)榧t色 liminputcolor(choose);//頁(yè)面按鈕變色 } //通過(guò)當(dāng)前頁(yè)面按鈕和頁(yè)面數(shù)據(jù)長(zhǎng)度將數(shù)據(jù)放進(jìn)table內(nèi),封裝封裝?。?!必須封裝 function tablestr(num){//num是指當(dāng)前哪個(gè)頁(yè)面 var num1 = (num-1)*len;//確定循環(huán)開(kāi)始的集合下標(biāo) var num2 = num*len;//確定循環(huán)結(jié)束的結(jié)束下標(biāo) document.getElementById("table").innerHTML='';//清空一下 for(var i=num1;i<num2;i++){//遍歷數(shù)組 var str = ''; for(var h in strs[i]){//遍歷集合 str+='<td>'+strs[i][h]+'</td>'; } document.getElementById("table").innerHTML+='<tr>'+str+'</tr>';//每循環(huán)一次添加一條數(shù)據(jù) } } function liminputcolor(choose){ document.getElementById("inputs").childNodes[choose-1].style.backgroundColor="red"; } //初始化,當(dāng)前頁(yè)面顯示為第一頁(yè) limits();//頁(yè)面按鈕生成 document.getElementById("inputs").childNodes[0].style.backgroundColor="red";//第一個(gè)按鈕的背景顏色為紅色 tablestr(1);//table數(shù)據(jù)顯示 /* 到這里就結(jié)束了,但是?。?!這些都是被封裝好了的,意思就是說(shuō),在最開(kāi)始的時(shí)候這就是通用的做法; 最開(kāi)始的數(shù)據(jù)就是在模擬后端的集合,也就是說(shuō),不論你后端傳遞給前端什么集合都可以實(shí)現(xiàn)分頁(yè)功能 */
后言:本次博文就到這里了,多的話也沒(méi)說(shuō)啥,解釋都在js的注釋里面,要是有什么疑問(wèn)的,可以私我,好了,該說(shuō)再見(jiàn)了,制作不易,各位看客點(diǎn)個(gè)贊再走唄
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
layer.open組件獲取彈出層頁(yè)面變量、函數(shù)的實(shí)例
今天小編就為大家分享一篇layer.open組件獲取彈出層頁(yè)面變量、函數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09使用JavaScript判斷用戶輸入的是否為正整數(shù)(兩種方法)
在項(xiàng)目開(kāi)發(fā)中,需要使用JavaScript驗(yàn)證用戶輸入的是否為正整數(shù),下面小編給大家分享兩種方法,需要的朋友參考下2017-02-02JavaScript知識(shí)點(diǎn)總結(jié)(十)之this關(guān)鍵字
這篇文章主要介紹了JavaScript知識(shí)點(diǎn)總結(jié)(十)之this關(guān)鍵字的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05JavaScript模塊規(guī)范之AMD規(guī)范和CMD規(guī)范
本篇文章給大家介紹js模塊規(guī)范之AMD規(guī)范和CMD規(guī)范,模塊化是一種處理復(fù)雜系統(tǒng)分解為代碼結(jié)構(gòu)更合理,可維護(hù)性更高的可管理的模塊的方式,對(duì)js amd cmd規(guī)范感興趣的童鞋可以來(lái)本文學(xué)習(xí)2015-10-10js實(shí)現(xiàn)操作cookie的常見(jiàn)方法總結(jié)【創(chuàng)建、讀取、刪除】
這篇文章主要介紹了js實(shí)現(xiàn)操作cookie的常見(jiàn)方法,結(jié)合實(shí)例形式分析了js操作cookie創(chuàng)建、讀取、刪除相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2020-03-03JavaScript語(yǔ)言中的Literal Syntax特性分析
JavaScript語(yǔ)言中的Literal Syntax特性分析...2007-03-03JavaScript實(shí)現(xiàn)文字展開(kāi)和收起效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)文字展開(kāi)和收起效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09