新聞中心
JavaScript九九乘法表帶邊框怎么實(shí)現(xiàn)

在前端開(kāi)發(fā)中,我們經(jīng)常需要制作一些簡(jiǎn)單的表格來(lái)展示數(shù)據(jù),而九九乘法表作為小學(xué)數(shù)學(xué)的基礎(chǔ)知識(shí),也是我們需要掌握的一個(gè)例子,本文將介紹如何使用HTML、CSS和JavaScript來(lái)實(shí)現(xiàn)一個(gè)帶邊框的九九乘法表。
HTML結(jié)構(gòu)
我們需要?jiǎng)?chuàng)建一個(gè)HTML文件,用于存放九九乘法表的結(jié)構(gòu),在這個(gè)文件中,我們主要使用table、tr和td三個(gè)標(biāo)簽來(lái)創(chuàng)建表格。table標(biāo)簽用于創(chuàng)建表格,tr標(biāo)簽用于創(chuàng)建表格的行,td標(biāo)簽用于創(chuàng)建表格的單元格,我們還需要使用style屬性來(lái)設(shè)置表格的樣式,以及使用class屬性來(lái)為表格添加一個(gè)類(lèi)名,以便于后續(xù)的CSS樣式設(shè)置。
帶邊框的九九乘法表
CSS樣式
接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)CSS文件(命名為style.css),用于設(shè)置九九乘法表的樣式,在這個(gè)文件中,我們主要設(shè)置表格的邊框樣式、字體大小和對(duì)齊方式等。
body {
font-family: Arial, sans-serif;
}
.multiplication-table {
border-collapse: collapse;
width: 50%;
margin: 0 auto;
}
.multiplication-table th,
.multiplication-table td {
border: 1px solid ccc;
text-align: center;
padding: 10px;
}
.multiplication-table th {
background-color: f2f2f2;
}
JavaScript動(dòng)態(tài)生成內(nèi)容
我們需要?jiǎng)?chuàng)建一個(gè)JavaScript文件(命名為script.js),用于動(dòng)態(tài)生成九九乘法表的內(nèi)容,在這個(gè)文件中,我們使用嵌套循環(huán)遍歷1到9的數(shù)字,然后根據(jù)這些數(shù)字生成對(duì)應(yīng)的乘法表達(dá)式和結(jié)果,我們還需要注意處理乘法表達(dá)式中的小數(shù)點(diǎn)和負(fù)號(hào)。
const table = document.querySelector('.multiplication-table');
const rows = table.getElementsByTagName('tr');
const index = Math.floor(Math.random() * (rows.length + 1)); // 隨機(jī)選擇一行作為標(biāo)題行
let headers = []; // 存儲(chǔ)標(biāo)題行的內(nèi)容
for (let i = index; i > index; i--) { // 從隨機(jī)選擇的行開(kāi)始向上遍歷,獲取所有列的標(biāo)題
headers[i] = rows[i].innerText; // 將標(biāo)題添加到headers數(shù)組中
}
headers.shift(); // 由于第一行是表頭,所以需要將其移除并添加到數(shù)組末尾
headers.reverse(); // 將數(shù)組反轉(zhuǎn),使其從下往上排列(與HTML中的行順序一致)
const content = []; // 存儲(chǔ)乘法表達(dá)式和結(jié)果的內(nèi)容
for (let i = index + 1; i <= rows.length; i++) { // 從隨機(jī)選擇的行開(kāi)始向下遍歷,獲取所有行的內(nèi)容(包括標(biāo)題行)
let row = []; // 每一行的內(nèi)容都存儲(chǔ)在一個(gè)數(shù)組中
for (let j = index + i + index; j > index + i + index; j--) { // 從隨機(jī)選擇的行開(kāi)始向左遍歷,獲取所有列的內(nèi)容(包括標(biāo)題列)
if (j === index + i || j === index) continue; // 如果是標(biāo)題列或重復(fù)的列,則跳過(guò)不處理
row[j] = rows[j].innerText; // 將內(nèi)容添加到row數(shù)組中(注意要去掉多余的空格)
}
row.unshift(headers[index]); // 將標(biāo)題添加到row數(shù)組的最前面(對(duì)應(yīng)于HTML中的單元格)
i++; // 由于已經(jīng)處理了標(biāo)題行,所以需要將i加1,以便跳過(guò)下一次循環(huán)的第一個(gè)元素(即重復(fù)的列)
i += index + i; // 由于已經(jīng)處理了標(biāo)題列,所以需要將i加上兩倍的索引值,以便跳過(guò)下一次循環(huán)的第一個(gè)元素(即重復(fù)的列)和第二個(gè)元素(即標(biāo)題列)之間的所有元素(即重復(fù)的行)
i++; // 由于已經(jīng)處理了重復(fù)的行,所以需要將i加1,以便跳過(guò)下一次循環(huán)的第一個(gè)元素(即重復(fù)的列)和第二個(gè)元素(即標(biāo)題列)之間的所有元素(即重復(fù)的行)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)之間的所有元素(即重復(fù)的列)。
網(wǎng)站題目:js實(shí)現(xiàn)九九乘法表加邊框
當(dāng)前地址:http://m.5511xx.com/article/cdjggsj.html


咨詢(xún)
建站咨詢(xún)
