这次依然是大大的js干货,不知道大家有没有看到过类似下面这种抽奖小游戏:
这种小游戏实现的原理是什么呢?我们该怎样使用学习过的js知识来实现这个小游戏呢?你别一看到“利用js实现游戏”这个命题就被吓得望而却步了,我们乐之者java不忽悠人,我也不认为那种让人一看就晕乎的不知所以的代码就高深莫测,有时候越是简单越是需要积累。
看看你几行才能用js实现上面的效果:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>array</title> </head> <body> <h1 id="h1"></h1> <button οnclick="stop()">停止</button> </body> </html>
css:
<style> h1{ width:200px; margin:200px auto; margin-bottom:10px; } body{ text-align:center; } </style>
javascript代码:
<script type="text/javascript"> var arr=["赵","钱","孙","李","周","吴","郑","王"]; function show(){ var r=Math.random()*7; var index=Math.round(r); document.getElementById("h1").innerHTML=arr[index]; } var id=setInterval("show()",200); function stop(){ clearInterval(id); } </script>
说明:
Math.random()函数是js内置对象Math的一个函数,它的作用是返回返回 [0,1) 之间的随机数。注意,包含0而不包含1
Math.round(x)函数的功能是把x四舍五入为整数。
然后利用window对象的setInterval(fn,time)函数进行周期性调用,setInterval(fn,time)函数功能是使用指定周期time调用函数fn,返回值是一个随机数字,假设这个数字赋值给了id_of_setInterval,我们就可以使用clearInterval(id_of_setInterval)终止对应的周期调用了。理解了上边的几个函数的作用,我们就可以使用很简单很简单的代码实现上边的效果了。