Javascript倒计时在每次运行后都会变得更快
Javascript countdown is getting faster after each run
var i = 3400;
function progress() {
i = 34000;
window.setInterval(function () {
i = i - 100;
document.getElementById("progress").firstChild.data = i;
}, 100);
}
这段代码越来越快了。函数进度每 3 秒调用一次,但我无法更改调用它,因为它是基于事件的。大约 10 个电话后,我变得消极!
嗯....
请勿使用setInterval
您可能想使用setTimeout
由于每 3 秒调用一次进度,因此您需要避免它重复创建新的间隔。使用 clearTimeout
会在您调用进度时重置计时器。但是,如果不知道您究竟想要实现什么,就很难提供准确的答案。
var timeout;
function counter(count) {
document.getElementById("progress").firstChild.data = count;
if (count >= 0) {
timeout = window.setTimeout(function() {
counter(count-100);
}, 100);
}
}
function progress() {
window.clearTimeout(timeout);
counter(3400);
}
试试这个
var i = 3400;
function progress() {
i = i - 100;
document.getElementById("progress").firstChild.data = i;
window.setTimeout('progress();', 100);
}
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Angularjs代码未在匿名函数中运行
- jquery设置为使用参数运行
- 如何根据时间运行不同的脚本
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 将文本框链接到由按钮运行的javascript公式
- 为什么不是't运行此Javascript的Chrome
- 试图修复一个倒计时计时器问题,该问题导致计时器运行,然后在使用Javascript时崩溃约10秒
- 在运行jquery之前从5开始倒计时
- 在java中运行字符倒计时
- Javascript倒计时在每次运行后都会变得更快
- jQuery 360倒计时-在计时器运行时添加秒数的按钮
- jQuery倒计时运行时,它's暂停
- 根据YouTube视频当前时间运行倒计时计时器
- 如何用一个javascript函数运行多个倒计时
- JS倒计时似乎运行了两次