js实现九九乘法表加边框
JavaScript九九乘法表带边框怎么实现

在前端开发中,我们经常需要制作一些简单的表格来展示数据,而九九乘法表作为小学数学的基础知识,也是我们需要掌握的一个例子,本文将介绍如何使用HTML、CSS和JavaScript来实现一个带边框的九九乘法表。
HTML结构
我们需要创建一个HTML文件,用于存放九九乘法表的结构,在这个文件中,我们主要使用table、tr和td三个标签来创建表格。table标签用于创建表格,tr标签用于创建表格的行,td标签用于创建表格的单元格,我们还需要使用style属性来设置表格的样式,以及使用class属性来为表格添加一个类名,以便于后续的CSS样式设置。
带边框的九九乘法表
CSS样式
接下来,我们需要创建一个CSS文件(命名为style.css),用于设置九九乘法表的样式,在这个文件中,我们主要设置表格的边框样式、字体大小和对齐方式等。
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动态生成内容
我们需要创建一个JavaScript文件(命名为script.js),用于动态生成九九乘法表的内容,在这个文件中,我们使用嵌套循环遍历1到9的数字,然后根据这些数字生成对应的乘法表达式和结果,我们还需要注意处理乘法表达式中的小数点和负号。
const table = document.querySelector('.multiplication-table');
const rows = table.getElementsByTagName('tr');
const index = Math.floor(Math.random() * (rows.length + 1)); // 随机选择一行作为标题行
let headers = []; // 存储标题行的内容
for (let i = index; i > index; i--) { // 从随机选择的行开始向上遍历,获取所有列的标题
headers[i] = rows[i].innerText; // 将标题添加到headers数组中
}
headers.shift(); // 由于第一行是表头,所以需要将其移除并添加到数组末尾
headers.reverse(); // 将数组反转,使其从下往上排列(与HTML中的行顺序一致)
const content = []; // 存储乘法表达式和结果的内容
for (let i = index + 1; i <= rows.length; i++) { // 从随机选择的行开始向下遍历,获取所有行的内容(包括标题行)
let row = []; // 每一行的内容都存储在一个数组中
for (let j = index + i + index; j > index + i + index; j--) { // 从随机选择的行开始向左遍历,获取所有列的内容(包括标题列)
if (j === index + i || j === index) continue; // 如果是标题列或重复的列,则跳过不处理
row[j] = rows[j].innerText; // 将内容添加到row数组中(注意要去掉多余的空格)
}
row.unshift(headers[index]); // 将标题添加到row数组的最前面(对应于HTML中的单元格)
i++; // 由于已经处理了标题行,所以需要将i加1,以便跳过下一次循环的第一个元素(即重复的列)
i += index + i; // 由于已经处理了标题列,所以需要将i加上两倍的索引值,以便跳过下一次循环的第一个元素(即重复的列)和第二个元素(即标题列)之间的所有元素(即重复的行)
i++; // 由于已经处理了重复的行,所以需要将i加1,以便跳过下一次循环的第一个元素(即重复的列)和第二个元素(即标题列)之间的所有元素(即重复的行)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)之间的所有元素(即重复的列)。
新闻名称:js实现九九乘法表加边框
本文URL:http://jxruijie.cn/article/cdjggsj.html
