JS实现在一个Canvas中过n秒出现一个位数为m的随机数
- 如何实现Canvas中文字居中显示请参考:http://www.runoob.com/tags/canvas-textalign.html
- JS如何实现过N秒出现一个位数为M的随机数:
-
<button class="btn btn-info" onclick="countSecond()">Start</button> 先定义一个button。
-
<script type="text/javascript"> var group = {{form2.group.data}}; var digit = {{form2.digit.data}}; var time = {{form2.time.data}}; var t = time*1000; var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.fillStyle="#98F5FF" ctx.fillRect(0, 0, 600, 400); var x=0; function countSecond() { if (x < group) { x = x + 1 var Num = ""; for(var i=0;i<digit;i++){ Num+=Math.floor(Math.random()*10); } ctx.font = "100px Arial" ctx.fillStyle = "#000000" ctx.clearRect(0, 0, 600, 400); ctx.textAlign="center"; ctx.fillText(Num, 300, 200) setTimeout("countSecond( )", t) } } </script>
巧妙利用字符串可以前后相加立即组成一个M位数的道理;setTimeout实现过t毫秒执行函数;ctx.clearRect()实现清空画布,不然fillText()会重叠显示。