日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
js實(shí)現(xiàn)九九乘法表加邊框

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è)文件中,我們主要使用tabletrtd三個(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