js实现九九乘法表加边框

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

在前端开发中,我们经常需要制作一些简单的表格来展示数据,而九九乘法表作为小学数学的基础知识,也是我们需要掌握的一个例子,本文将介绍如何使用HTML、CSS和JavaScript来实现一个带边框的九九乘法表。

HTML结构

我们需要创建一个HTML文件,用于存放九九乘法表的结构,在这个文件中,我们主要使用tabletrtd三个标签来创建表格。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://www.csdahua.cn/qtweb/news43/388993.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网