首先我们在body里面定义一个按钮和一个盒子,按钮是为了控制抽取的开始和结束,盒子是为了显示抽取的数字。
代码如下:
<body>
<div id="t">0</div>
<button type="button" id="btn">开始</button>
</body>
接着来到最关键的地方,js的实现,首先我先说一下这个代码的核心
js产生随机数通常是使用javascript的Math.random()函数
常用的几种方法:Math.random()表示:结果为0-1之间(包括0,不包括1);
Math.floor(Math.random()*10+1)表示结果为1-10之间的一个随机数
Math.floor(Math.random()*24)表示结果为0-23间的随机数
1.Math.random();返回0-1之间的随机数,可能为0,但是总是小于1,[0,1)
返回指定范围随机数(m~n)之间的范围的公式为:
Math.random()*(n-m)+m
2.Math.ceil(n);返回大于等于n的最小整数(向上取整)
用Math.ceil(Math.random()*10)时,主要获取1到10的随机整数,取0的几率很小
3.Math.round(n)返回n四舍五入后整数的值
用Math.round(Math.random());可均衡获取0和1的随机整数
用Math.round(Math.random()*10)时,可基本均衡获取0到10的随机整数
4.Math.floor(n)返回小于等于n的最大整数(向下取整)
用Math.floor(Math.random(*10))时,可均衡获取0到9的随机整数
js完整代码如下:
<script type="text/javascript">
var flag=false;
var timeId;
document.getElementById("btn").onclick=function(){
if (!flag) {
timeId=setInterval(function(){
var r=Math.round(Math.random()*100+1);
document.getElementById('t').innerHTML=r;
},20)
flag=true;
this.innerHTML="暂停";
}else{
clearInterval(timeId);
flag=false;
this.innerHTML="开始";
}
}
</script>
运行效果如下:
完整代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="t">0</div>
<button type="button" id="btn">开始</button>
</body>
<script type="text/javascript">
var flag=false;
var timeId;
document.getElementById("btn").onclick=function(){
if (!flag) {
timeId=setInterval(function(){
var r=Math.round(Math.random()*100)+1;
document.getElementById('t').innerHTML=r;
},20)
flag=true;
this.innerHTML="暂停";
}else{
clearInterval(timeId);
flag=false;
this.innerHTML="开始";
}
}
</script>
</html>