This is actually a way to practice JS random numbers. First, pre-write everyone’s name in an array, and then let the values in the array be quickly displayed in the area. When you press stop, the scroll will will stop achieving random effects.
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>JS写的随机点名 - 琼台博客</title> <script type="text/javascript"> var isRun=true; var a = ["张三","李四","王五","赵六"]; var a2 = new Array(); function action(str){ var s = document.getElementById("bt").value; if(s=="开始"){ isRun=true; run(); document.getElementById("bt").value="结束"; }else{ isRun=false; document.getElementById("bt").value="开始"; } } function run(){ var i = Math.floor(Math.random() * a.length+ 1)-1; document.getElementById("show").innerHTML=a[i]; if(isRun==false){ var b =true; for(var j in a2){ if(a2[j]==i){ b=false; } } if(b){ a2[a2.length]=i; return; } } setTimeout("run()",10); } </script> </head> <body> <div style="text-align:center; margin-top:100px;width:100%;"> <div id="show" style="margin:auto;font-size:50px;width:100px;height:50px; background:#FFEEFF"></div> <div style="margin-top:20px;"> <input id="bt" type="button" onclick="action()" value="开始"/> </div> </div> </body> </html>