以320ms延迟Js显示随机数25次

时间:2017-04-03 23:04:14

标签: javascript html random numbers

我一直试图找到答案,但我无法真正开始工作。 我需要JavaScript代码显示一个随机数25次,每个数字延迟320ms。 (忽略除了//开始滚动之外的其他事情)

    function roll() {

var win = Math.floor(Math.random() * 25) + 0
//change the button when rolling
rollButton.disabled = true;
rollButton.innerHTML = "Rolling...";
rollButton.style.backgroundColor = "grey";
rollButton.style.color = "black"
setTimeout(unDisable, 8000)
//start roll
(insert code here)


}

谢谢你能提供帮助

2 个答案:

答案 0 :(得分:1)

您可以使用setInterval进行make循环,并使用clearInterval停止循环!

$(function(){

t = 0;
var interval = setInterval(function(){
  var win = Math.floor(Math.random() * 25) ;
  var html = $('span').html();
  $('span').html(html + win + '<br>')
  t++;
  if(t == 25)
    stop();
}, 320);
function stop(){
  clearInterval(interval);
}

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span></span>

答案 1 :(得分:0)

您可以做的一件简单事情就是:

&#13;
&#13;
function roll() {
    //change the button when rolling
    rollButton.disabled = true;
    rollButton.innerHTML = "Rolling...";
    rollButton.style.backgroundColor = "grey";
    rollButton.style.color = "black"
    setTimeout(unDisable, 8000)
    //start roll
    showNum(25)
}
const getRand = _ => Math.floor(Math.random() * 25) + 0
const showNum = n => {
  if (n-- <= 0) {return}
  document.getElementById("dispNum").innerHTML = getRand()
  setTimeout(_ => showNum(n), 320)
}
&#13;
&#13;
&#13;

它将继续产生一个新线程来打印一个随机数,同时递减其迭代次数,直到它达到0