原生js自动生成乘法表
效果展示:
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<input type="text" value="" id="num">
<input type="button" value="生成乘法表" onclick="result()">
<input type="button" value="自动生成" onclick="startRsult()">
<input type="button" value="停止生成" onclick="clearResult()">
<table id="tab">
<tbody id="tbody">
</tbody>
</table>
<script src="./js/index.js"></script>
</body>
</html>
css代码:
* {
padding: 0;
margin: 0;
}
td {
border: 1px solid #008c8c;
color: #000;
padding: 5px 10px;
background-color: lightblue;
}
javascrip代码:
function result() {
var num = document.getElementById("num").value;
console.log(num);
// 判断输入是否为空
if (!num) {
document.getElementById("num").focus;
alert("请输入一个数字!");
}
// 判断是否为数字
if (isNaN(num)) {
document.getElementById("num").value;
alert("请输入一个数字!");
return;
}
var html = "";
for (var i = 1; i <= num; i++) { //输入行
html += "<tr>"
for (var j = 1; j <= i; j++) { //输入列
var sum = i * j;
html += "<td>" + j + "*" + i + "=" + sum + "</td>";
}
html += "</tr>"
}
document.getElementById("tbody").innerHTML = html;
}
var num = 0;
var timer = null;
// 自动生成
function startRsult() {
// 时间控制器
timer = setInterval(function() {
num++;
document.getElementById("num").value = num;
result();
}, 600);
}
// 清除时间器
function clearResult() {
clearInterval(timer);
}