Я пытаюсь придумать яркий визуальный способ отображения числа. Количество, о котором идет речь, зависит от настроек, может варьироваться от 0 до 10 000 000 или около того. Поэтому изначально я думал, что создам одометр в Javascript, который просто добавит к окончательному числу. Я сделал это с помощью простой функции setInterval, но проблема заключается в том, что для чисел, превышающих несколько тысяч, даже с нулевой задержкой, это слишком долго waaaay. Как и следовало ожидать.Динамически ускоряющийся одометр в 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