为什么 innerHTML 在 setTimeout 中不起作用
why innerHTML dosen't work inside setTimeout?
$(document).ready(function () {
counter.innerHTML = "3";
var t1 = setTimeout(function () { counter.innerHTML = "2"; }, 1000);
var t2 = setTimeout(function () { counter.innerHTML = "1"; }, 1000);
var t3 = setTimeout(function () { counter.innerHTML = null; }, 1000);
});
您好,为什么 innerHTML 剂量在 setTimeout 中不起作用? 有没有更好的倒计时理由? 谢谢!
$(document).ready(function () {
counter.innerHTML = "3";
var t1 = setTimeout(function () { counter.innerHTML = "2"; }, 1000);
var t2 = setTimeout(function () { counter.innerHTML = "1"; }, 2000);
var t3 = setTimeout(function () { counter.innerHTML = null; }, 3000);
});
试试这个
您还可以将其设置为递归,从而轻松更改数字以倒计时:
在线演示
$(document).ready(function () {
function countDown(num) {
if (num > 0) {
counter.innerHTML = num.toString();
setTimeout(function(){countDown(num-1)}, 1000);
}
}
countDown(3);
});
您可以扩展它,以便在倒计时完成后使用回调函数:
在线演示分机
function countDown(num, callback) {
if (num > 0) {
counter.innerHTML = num.toString();
setTimeout(function(){countDown(num-1, callback)}, 1000);
} else {
callback()
}
}
countDown(3, function() {alert('Done!')});
在这里:
function createCountdown(count){
counter.innerHTML = count ? count : null;
if(count--){
setTimeout(function(){createCountdown(count);}, 1000);
}
}
createCountdown(3);
您的代码不起作用是因为所有setTimeout
都是同时触发的。
相关文章:
- setTimeout刷新,毫秒参数不起作用
- JavaFX+WebView/Javascript:setTimeOut不起作用调用堆栈来自Java
- 如何让Webworker真正响应,以及为什么setTimeout()不起作用
- Angularjs 更新 setTimeout 中的范围变量不起作用
- JavaScript setTimeout在IE上不起作用
- 而循环调用setTimeout不起作用
- 为什么javascript setTimeout不起作用,而setInterval对下面的程序起作用
- 为什么这个 setTimeout() 方法在这个函数中不起作用
- Javascript SetTimeOut函数不知怎么不起作用
- SetTimeout()不会'不起作用
- Javascript setTimeout 不起作用
- setTimeout 在 jQuery 插件中不起作用
- JavaScript setTimeout 不起作用
- 在 Javascript 中使用 setTimeout 移动文本不起作用
- JavaScript代码首先使用setTimeout工作,但随后崩溃或不起作用
- Jquery setTimeout 不起作用(图像幻灯片)
- jQuery setTimeout:行上的第一个操作不起作用
- 如果我导航到另一个页面,setTimeout 不起作用
- Javascript:我的setTimeout函数由于第三方而不起作用
- setTimeout() 在每个循环中不起作用