2017-04-03 71 views
-2

我一直在試圖爲此找到答案,但我無法真正地將其解決。 我需要JavaScript代碼來顯示一個隨機數25次,每個數字有320ms的延遲。 (忽略除//開始滾動其他的東西)以320ms的延遲顯示一個隨機數25次Js

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) 


} 

謝謝如果你能幫助

回答

0

你可以做一個簡單的事情很簡單:

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) 
 
}

它將繼續產生一個新的線程來打印一個隨機數,同時減少其迭代次數,直到它達到0

+0

您可以編寫代碼,以便它打印一個隨機數0-24到:的document.getElementById( 「dispNum」)的innerHTML – shtabbbe

+0

完成!我已更改代碼以反映 –

+0

非常感謝! – shtabbbe

1

您可以使用setInterval進行一些延遲的循環,並使用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>