2301_80675900 2024-01-02 22:06 采纳率: 100%
浏览 11
已结题

九九乘法表这个边框序列实在想不出来了,如何解决?(语言-javascript)

img


黑灰面实在想不出来了,急需指导,还望各位能用闲暇时间帮忙看看

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-01-02 22:07
    关注

    引自免费微信小程序:皆我百晓生

    HTML代码:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>九九乘法表</title>
        <link rel="stylesheet" type="text/css" href="css/nnstyle.css">
        <script src="js/nnscript.js"></script>
    </head>
    <body>
        <h1>九九乘法表</h1>
        <table id="multiplication-table"></table>
    </body>
    </html>
    

    CSS代码(css/nnstyle.css):

    body {
        font-family: Arial, sans-serif;
        text-align: center;
    }
    
    h1 {
        color: #333;
        font-size: 24px;
    }
    
    table {
        margin: 0 auto;
        border-collapse: separate; /* 修改为separate */
        border-spacing: 10px; /* 添加间距 */
    }
    
    table th, table td {
        border: 1px solid #ccc;
        width: 30px;
        height: 30px;
        padding: 5px;
    }
    
    table th {
        background-color: #a8d8e8;
        font-weight: bold;
    }
    
    table td.highlight {
        background-color: #ffcc00;
    }
    
    table td.gray {
        color: #999;
    }
    

    JavaScript代码(js/nnscript.js):

    document.addEventListener("DOMContentLoaded", function() {
        var table = document.getElementById("multiplication-table");
     
        // 设置九九乘法表的最大宽度为9
        var maxWidth = 9;
     
        var headerRow = document.createElement("tr");
        var headerCell = document.createElement("th");
        headerRow.appendChild(headerCell);
    
        // 填充表头第一行:1到9
        for (var i = 1; i <= maxWidth; i++) {
            var headerCell = document.createElement("th");
            headerCell.textContent = i;
            headerRow.appendChild(headerCell);
        }
        table.appendChild(headerRow);
     
        // 动态生成九九乘法表
        for (var i = 1; i <= maxWidth; i++) {
            var row = document.createElement("tr");
            var headerCell = document.createElement("th");
            headerCell.textContent = i;
            row.appendChild(headerCell);
     
            for (var j = 1; j <= maxWidth; j++) {
                var cell = document.createElement("td");
                var text = document.createElement("span");
                text.textContent = i + "x" + j + "=" + (i * j);
                
                if (j > i) {
                    cell.classList.add("gray");
                }
                
                cell.appendChild(text);
                row.appendChild(cell);
            }
            table.appendChild(row);
        }
     
        // 鼠标悬停时变色
        table.addEventListener("mouseover", function(e) {
            if (e.target && e.target.tagName == "TD") {
                e.target.classList.add("highlight");
            }
        });
     
        table.addEventListener("mouseout", function(e) {
            if (e.target && e.target.tagName == "TD") {
                e.target.classList.remove("highlight");
            }
        });
    });
    

    注意:上面的代码实现了乘法表的功能和样式,但没有限制乘法表的最大宽度,可以根据需要自行添加样式或调整代码来实现。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月4日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日