隨著資料的不斷成長(zhǎng),表格顯示變得更加困難。大多數(shù)情況下,表格中的資料量過(guò)大,導(dǎo)致表格在載入時(shí)變得緩慢,而且使用者需要不斷地瀏覽頁(yè)面才能找到自己想要的資料。本文將介紹如何使用JavaScript實(shí)作表格資料的分頁(yè)顯示,讓使用者更容易找到自己想要的資料。
一、動(dòng)態(tài)建立表格
為了讓分頁(yè)功能更可控,需要?jiǎng)討B(tài)建立表格。在HTML頁(yè)面中,加入一個(gè)類似下面的table元素。
編號(hào) | 姓名 | 年齡 | 性別 |
---|---|---|---|
1 | 小紅 | 20 | 女 |
2 | 小明 | 22 | 男 |
3 | 小花 | 25 | 女 |
在JavaScript中,先定義一個(gè)包含所有表格資料的陣列:
let tableData = [
{ id: 1, name: '小紅', age: 20, gender: '女' },
{ id: 2, name: '小明', age: 22, gender: '男' },
{ id: 3, name: '小花', age: 25, gender: '女' },
// 更多資料
];
接下來(lái),建立一個(gè)名為「createTable」的函數(shù),這個(gè)函數(shù)將建立空的table元素並將其插入到HTML頁(yè)面中。
// 建立表格
function createTable() {
let table = document.createElement('table'); // 建立table元素
table.id = 'table-page' ; // 設(shè)定id
table.classList.add('table'); // 新增樣式
let thead = document.createElement('thead');
let tr = document.createElement('tr ');
let thNum = document.createElement('th');
thNum.innerHTML = '編號(hào)';
tr.appendChild(thNum);
let thName = document.createElement(' th');
thName.innerHTML = '姓名';
tr.appendChild(thName);
let thAge = document.createElement('th');
thAge.innerHTML = '年齡' ;
tr.appendChild(thAge);
let thGender = document.createElement('th');
thGender.innerHTML = '性別';
tr.appendChild(thGender);
thead.appendChild(tr);
table.appendChild(thead);
let tbody = document.createElement('tbody');
table.appendChild(tbody);
document.body.appendChildld (table);
}
現(xiàn)在,呼叫createTable函數(shù)來(lái)建立表格。
createTable();
二、新增分頁(yè)
在JavaScript中,新建一個(gè)函數(shù)名為“pagination”,該函數(shù)將根據(jù)所需的每頁(yè)資料量和目前頁(yè)碼來(lái)過(guò)濾表格數(shù)據(jù),並將結(jié)果顯示在表格中。
// 分頁(yè)函數(shù)
function pagination(pageSize, pageNumber) {
let table = document.getElementById('table-page');
let tbody = table.querySelector('tbody ');
let start = pageSize * (pageNumber - 1);
let end = start pageSize;
let d = tableData.slice(start, end);
tbody.innerHTML = '' ;
for (let i = 0; i < d.length; i ) {
let tr = document.createElement('tr'); for (let key in d[i]) { let td = document.createElement('td'); td.innerHTML = d[i][key]; tr.appendChild(td); } tbody.appendChild(tr);
}
}
在這個(gè)函數(shù)中,先取得table元素與tbody元素。然後,透過(guò)指定的每頁(yè)資料量和目前頁(yè)碼來(lái)計(jì)算要顯示的資料範(fàn)圍。然後,透過(guò)使用slice方法來(lái)取得目前頁(yè)面要顯示的數(shù)據(jù),並將其循環(huán)新增至表格的tbody元素中。
三、建立分頁(yè)元件
接下來(lái),建立一個(gè)名為「createPagination」的函數(shù)來(lái)生成分頁(yè)元件。
// 建立分頁(yè)按鈕元件
function createPagination(pageSize) {
let totalPage = Math.ceil(tableData.length / pageSize);
let pagination = document.getElementById('pagination ');
if (!pagination) {
pagination = document.createElement('div'); pagination.id = 'pagination'; document.body.appendChild(pagination);
}
pagination.innerHTML = '';
for (let i = 1; i <= totalPage; i ) {
let btn = document.createElement('button'); btn.innerHTML = i; btn.onclick = function() { pagination(pageSize, i) }; pagination.appendChild(btn);
}
}
本函數(shù)將計(jì)算所有的頁(yè)數(shù),並基於每頁(yè)數(shù)量產(chǎn)生按鈕元件。在循環(huán)中,每個(gè)按鈕被建立並附加到「pagination」元素上。最後,將按鈕的點(diǎn)擊事件設(shè)定為呼叫分頁(yè)函數(shù)「pagination()」。
四、應(yīng)用到實(shí)際專案中
在實(shí)際專案中,可以將tableData數(shù)組替換為從伺服器取得的數(shù)據(jù),並根據(jù)需要呼叫建立表格和分頁(yè)函數(shù)。
// 非同步請(qǐng)求資料
let xhr = new XMLHttpRequest();
xhr.open('GET', '/getData');
xhr.onload = function() {
let data = JSON.parse(xhr.responseText);
tableData = data;
createTable();
pagination(pageSize, pageNumber);
createPagination(pageSize);
}
xhr.send();
在這個(gè)範(fàn)例中,使用XMLHttpRequest物件非同步取得資料。然後,將資料解析為JSON對(duì)象,並分別呼叫createTable,pagination和createPagination函數(shù)。
五、總結(jié)
透過(guò)上述步驟,我們成功地使用JavaScript實(shí)現(xiàn)了分頁(yè)顯示表格資料的基本功能。當(dāng)資料量較大時(shí),這種方法將大大提高表格的效能,同時(shí)也為使用者提供更好的互動(dòng)體驗(yàn)。畢竟,方便簡(jiǎn)單的使用者體驗(yàn)才是軟體的魅力所在。
以上是使用JavaScript實(shí)作表格資料的分頁(yè)顯示的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

1.新建一個(gè)PPT文件,命名為【PPT技巧】,作為範(fàn)例。 2、雙擊【PPT技巧】,開(kāi)啟PPT檔。 3、插入兩行兩列的表格,作為範(fàn)例。 4.在表格的邊框上雙擊,上方工具列出現(xiàn)【設(shè)計(jì)】的選項(xiàng)。 5.點(diǎn)選【底紋】的選項(xiàng),點(diǎn)選【圖】。 6.點(diǎn)選【圖片】,彈出以圖片為背景的填滿選項(xiàng)對(duì)話框。 7.在目錄中找到要插入的托,點(diǎn)選確定即可插入圖片。 8.在表格框上右鍵,彈出設(shè)定的對(duì)話框。 9.點(diǎn)選【設(shè)定儲(chǔ)存格格式】,勾選【將圖片平鋪為底紋】。 10.設(shè)定【居中】【鏡像】等自己需要的功能,點(diǎn)選確定即可。注意:預(yù)設(shè)為圖片填充在表格

1.開(kāi)啟工作表,找到【開(kāi)始】-【條件格式】按鈕。 2、點(diǎn)選列選擇,選取將新增條件格式的列。 3.點(diǎn)選【條件格式】按鈕,彈出選項(xiàng)選單國(guó)。 4.選擇【突出顯示條件規(guī)則】-【介於】。 5、填寫(xiě)規(guī)則:20,24,深填色深綠色文字。 6.確定後,所選列中資料依設(shè)定對(duì)對(duì)應(yīng)數(shù)字文字、單元框加色處理。 7.對(duì)於沒(méi)有衝突的條件規(guī)則,可以重複添加,但對(duì)於衝突規(guī)則wps則會(huì)以最後添加的規(guī)則代替先前建立的條件規(guī)則。 8.重複新增【介於】規(guī)則20-24和【小於】20後的單元列。 9.如需改變規(guī)則,剛可以清除規(guī)則後重新設(shè)定規(guī)則。

能夠熟練的製作表格不僅是會(huì)計(jì)、人事以及財(cái)務(wù)的必備技能,對(duì)於許多銷售人員來(lái)說(shuō),學(xué)會(huì)製作表格也是很重要的。因?yàn)榕c銷售量有關(guān)的數(shù)據(jù)都是很多且很複雜的,而且不是簡(jiǎn)單的記在文件當(dāng)中,就可以說(shuō)明問(wèn)題的。為了能讓更多的銷售人員熟練運(yùn)用Excel來(lái)製作表格,小編接下來(lái)要介紹的就是有關(guān)於銷量預(yù)測(cè)的表格製作問(wèn)題,有需要的朋友不要錯(cuò)過(guò)哦! 1,開(kāi)啟【銷售預(yù)測(cè)及目標(biāo)制定】,xlsm,來(lái)分析每個(gè)表格所存放的資料。 2,新建【空白工作表】,選擇【儲(chǔ)存格】,輸入【標(biāo)籤資訊】。向下【拖曳】,【填充】月份。輸入【其它】數(shù)據(jù),點(diǎn)選【

MySQL與PL/SQL是兩種不同的資料庫(kù)管理系統(tǒng),分別代表了關(guān)係型資料庫(kù)和過(guò)程化語(yǔ)言的特性。本文將比較MySQL和PL/SQL的異同點(diǎn),並附帶具體的程式碼範(fàn)例進(jìn)行說(shuō)明。 MySQL是一種流行的關(guān)聯(lián)式資料庫(kù)管理系統(tǒng),採(cǎi)用結(jié)構(gòu)化查詢語(yǔ)言(SQL)來(lái)管理和操作資料庫(kù)。而PL/SQL是Oracle資料庫(kù)特有的過(guò)程化語(yǔ)言,用於編寫(xiě)預(yù)存程序、觸發(fā)器和函數(shù)等資料庫(kù)物件。相同

我們?cè)谘u作表格時(shí),第一想到的是會(huì)用Excel軟體製作表格,但是你知道嗎,其實(shí)Word軟體製作表格也是非常方便的,有時(shí)我們?cè)赪ord軟體裡進(jìn)行表格製作的時(shí)候,需要輸入序號(hào)或編號(hào),如果是手動(dòng)一個(gè)一個(gè)地輸,那就非常地麻煩了,其實(shí)word軟體裡有一個(gè)操作能自動(dòng)插入??編號(hào)或序號(hào),那麼下面就和小編一起來(lái)學(xué)習(xí)Word表格自動(dòng)編號(hào)或序號(hào)怎麼插入的方法吧。 1.先建立一個(gè)Word文檔,插入表格?! ?.選取需要插入自動(dòng)序號(hào)或編號(hào)的列或儲(chǔ)存格。 3.點(diǎn)選「開(kāi)始」—「編號(hào)」。 4.選擇其中的一種樣式的編號(hào)。 5.

JavaScript教學(xué):如何取得HTTP狀態(tài)碼,需要具體程式碼範(fàn)例前言:在Web開(kāi)發(fā)中,經(jīng)常會(huì)涉及到與伺服器進(jìn)行資料互動(dòng)的場(chǎng)景。在與伺服器進(jìn)行通訊時(shí),我們經(jīng)常需要取得傳回的HTTP狀態(tài)碼來(lái)判斷操作是否成功,並根據(jù)不同的狀態(tài)碼來(lái)進(jìn)行對(duì)應(yīng)的處理。本篇文章將教你如何使用JavaScript來(lái)取得HTTP狀態(tài)碼,並提供一些實(shí)用的程式碼範(fàn)例。使用XMLHttpRequest

Word軟體是我們必不可少且需要經(jīng)常使用的,前面學(xué)習(xí)了Word軟體編輯表格,但是,如果不小心,將表格的橫豎方向編輯反了,又不想浪費(fèi)時(shí)間重新製作,是否可以將表格的橫豎調(diào)換呢?答案當(dāng)然是肯定,接下來(lái),就由小編為大家詳細(xì)的介紹word怎麼把表格橫豎調(diào)換的操作方法,讓我們一起來(lái)學(xué)習(xí)吧。首先,我們需要將下面的Word表格進(jìn)行行列互換。要做到這一點(diǎn),我們需要先全部選取表格,然後右鍵點(diǎn)擊並選擇複製功能。第2步,選擇複製以後我們把word最小化,然後打開(kāi)一個(gè)Excel表格,點(diǎn)擊右鍵,選擇貼上,把它貼到Exc

有時(shí)候,我們?cè)赪ord表格中會(huì)經(jīng)常遇到計(jì)數(shù)的問(wèn)題;通常遇到這樣的問(wèn)題,大部分同學(xué)都回把Word表格複製到Excel中來(lái)計(jì)算;還有一部分同學(xué)會(huì)默默地拿起計(jì)算器去算。那有沒(méi)有快速的方法來(lái)計(jì)算呢?當(dāng)然有啊,其實(shí)在Word中也是可以計(jì)算求和的。那麼,你知道該怎麼操作嗎?今天,我們就來(lái)一起來(lái)看吧!廢話不多說(shuō),有需要的朋友趕緊收藏起來(lái)吧!步驟詳情:1、首先,我們開(kāi)啟電腦上的Word軟體,開(kāi)啟需要處理的文件。 (如圖)2、接著,我們將遊標(biāo)定位在求和數(shù)值所在的儲(chǔ)存格上(如圖);然後,我們點(diǎn)選【選單列
