javascript - 在 5 秒内从 0 增加到一个值

标签 javascript html

我需要在 5 秒内将值从 0 增加到 103551。以下是我使用的逻辑。但它不会在 5 秒内增加到所需的值

var counter = 0;
var el = document.getElementById('seconds-counter');

function incrementSeconds() {
    counter += 1;
    el.innerText = "Processing " + counter + " execution records";
    if(counter == 103551) {
        console.log(new Date());
    }
}

console.log(new Date());
var time = 103551/5000;
var cancel = setInterval(incrementSeconds, time);

HTML

<div id='seconds-counter'> </div>

最佳答案

你的数学有点不对劲。 103551/5000 = 20.7102 毫秒

1000 毫秒 = 1 秒,5 秒 = 5000 毫秒,5000/20.7102 = 240 次迭代。

你要解的方程是 5000/x = numIterations

所以 x = 5000/numIterations

注意:大多数浏览器都有一个您可以在 setInterval() 中设置的最小数字,因此您可能需要在每个循环中递增 1 个以上才能在 5 秒内计数到 103551。由于这是一个奇怪的特定问题,我将猜测这可能是一项任务,因此将从该答案中省略完整的解决方案。祝你好运!

关于javascript - 在 5 秒内从 0 增加到一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51288610/

相关文章:

javascript - Angular Directive(指令) - 更改模板内的数据

javascript - 从 JSON 中提取数组元素 (javascript)

javascript - 从左侧和右侧计算溢出的列表项。 (不是顶部/底部)

html - css:如何使用文本溢出省略号使列大小可变

javascript - 表单提交后使用 JQuery 替换 div 标签

javascript - 如果 ng-click 附加到提交按钮,则表单不验证

javascript - Jquery .text() 不工作

javascript - jqgrid 将自定义按钮添加到导航层以转到新页面

javascript - 如果文本为空,如何隐藏表格单元格

javascript - addClass/removeClass 不适用