function rander(m, n) {
return Math.floor(Math.random() * (n - m + 1) + m)
}
console.log(rander(1,20))
举例:利用上述代码实现随机点名 (直接复制即可)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
position: fixed;
top: 100px;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 150px;
text-align: center;
}
.uname {
width: 100%;
height: 100px;
text-align: center;
line-height: 100px;
margin-bottom: 10px;
background-color: pink;
}
</style>
</head>
<body>
<div class="box">
<div class="uname">
姓名
</div>
<button class="btn">开始随机</button>
</div>
<script>
let arr = ['姓名1', '姓名2', '姓名3', '姓名4', '姓名5', '姓名6', '姓名7']
// 获得需要用到的DOM元素
let uname = document.querySelector('.uname')
let btn = document.querySelector('.btn')
let flag = null; // 给定时器添加一个标识符
// 给按钮注册点击事件
btn.onclick = function () {
// 点击按钮之后需要做的事情:1、改变按钮内的文字;2、获得数组中的随机一个数据
if (btn.innerHTML == '开始随机') {
btn.innerHTML = '结束随机'
// 添加一个定时器 使代码文字具有滚动效果
flag = setInterval(() => {
let num = rander(0, arr.length - 1)
let text = arr[num]
uname.innerHTML = text
}, 50)
} else {
btn.innerHTML = '开始随机'
clearInterval(flag) // 清除多次定时器
}
}
function rander(m, n) {
return Math.floor(Math.random() * (n - m + 1))
}
</script>
</body>
</html>