我試圖想出一個醒目的視覺方式來顯示一個數字。根據設置,有問題的號碼可以在0到10,000,000左右之間變化。所以最初我以爲我會在Javascript中設置一個里程錶,這隻會加起來到最後的數字。我用一個簡單的setInterval函數完成了這個工作,但問題是,對於大於幾千個數字的數字,即使是零延遲,也需要花費太長時間。正如人們所期望的。在Javascript中動態加速里程錶
我真正喜歡的是一個功能可以看看,在總數中的問題,調整里程錶的如何添加跑到基於這一點。也就是說,這需要某種估計的總數(比如10秒),然後計算出需要在每個時間間隔內添加多少個時間才能達到這個時間。它也會在一定程度上使用隨機數,所以它不僅僅是每秒鐘增加一百萬的「粗糙」。
這裏是原代碼,這是非常明顯和直接:
var totalNumber;
var currentNumber;
var changeInterval = 1; //even 0 is too slow
//later in a function scope
interval = setInterval(function() {
updateNumber();
}, changeInterval);
//later
function updateNumber() {
currentNumber++;
if(currentNumber>=totalNumber) {
clearInterval(interval);
}
document.getElementById("theNumber").innerHTML = currentNumber;
}
我無法概念化非跛腳的方式來實現這一點。有什麼想法嗎?
這是美麗的,謝謝!這基本上是我想要的,我只是很難將其概念化。 – nucleon 2013-05-07 16:33:08