javascript - 使用 jQuery 和 CSS 的进度条

标签 javascript jquery html css

这是我使用的 HTML:

<progress id="amount" value="0" max="100"></progress>

这是我使用的 JavaScript:

<script>
for (var i = 0; i < 240; i++) {
    setTimeout(function () { // this is 8 minutes progressbar
        var t = Math.floor((i / 240) * 100);
        $('#amount').attr('value', t);
    }, 2000);
}
</script>

问题是第一秒数值直接跳到100%

请帮忙 提前致谢

最佳答案

你意识到 for 每次提高它的速度都会设置你的计时器,是吗?而且速度非常快,你甚至察觉不到。 实际上没有必要,你的定时器已经用来循环了。将其删除。

<script>
     var i = 0;
     var timer = setInterval(function () { // this is 8 minutes progress bar
        if(i<240) { 
            i++;
            var t = Math.floor((i / 240) * 100);
            $('#amount').attr('value', t);
        } else {
            clearInterval(timer);
            timer=null;
        }
    }, 2000);

</script>

关于javascript - 使用 jQuery 和 CSS 的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24411654/

相关文章:

javascript - 如何从书签加载外部 css、js 并将 div 附加到 DOM?

javascript - 内联 block 不显示

php mysql 查询即使为空集也返回 true

javascript - React Native 从外部源加载 JSX 并在运行时对其进行转换

javascript - 带阴影颜色的 Raphael Sphere - 如何找到颜色的色调值

jquery - 如何使预加载器图像首先加载

html - HTML5 多文件上传字段如何映射到 Rails 3 中的嵌套模型?

javascript - Google map Javascript API v3 错误消息 "Key is Disabled"

javascript - 当使用 jQuery.Mockjax 模拟生成的 JSON 时,Backbone.Collection.fetch() 始终返回 404

javascript - 我如何在 jQuery UI 日期选择器中禁用公共(public)假期?