如何实现HTML progress值每秒+1,触达100后自动归零?
现有代码问题排查
- HTML 部分直接在
value属性填写变量名progressVal无效,HTML 为静态标记语言,无法直接绑定 JavaScript 变量,初始值需要显式设置为数值 - JavaScript 部分DOM选择方法拼写错误,正确方法名为
getElementById,原有代码多写了一个字母d,会触发方法未定义报错 - 缺少定时执行逻辑,也没有达到100后重置为0的判断分支,无法实现每秒更新+循环重置的效果
正确实现代码
HTML 代码
<progress id="val" value="0" max="100"></progress>
JavaScript 代码
let progressVal = 0; const progressEl = document.getElementById("val"); function updateProgress() { // 数值自增1,到100后自动重置为0 progressVal = (progressVal + 1) % 101; progressEl.value = progressVal; } // 设置1000ms(1秒)的定时器循环执行更新函数 setInterval(updateProgress, 1000);
内容的提问来源于stack exchange,提问作者HeadlessHD
相关产品推荐
相关产品推荐

