Javascript 如何使用setInterval或setTimeout并在计数期间显示结果?
我试图在调用函数之前将计时器从5秒倒计时到零,我可以成功地做到这一点,但我还无法在计时器倒计时时显示计时器值。Javascript 如何使用setInterval或setTimeout并在计数期间显示结果?,javascript,Javascript,我试图在调用函数之前将计时器从5秒倒计时到零,我可以成功地做到这一点,但我还无法在计时器倒计时时显示计时器值。没有显示值,而是从空白变为“数字:0”。我同时使用了setTimeout和setInterval,结果相同 <script type="text/javascript"> for (i = 5; i > 0; i--) { function countDown() { setInterval(function () {
没有显示值,而是从空白变为“数字:0”。我同时使用了setTimeout
和setInterval
,结果相同
<script type="text/javascript">
for (i = 5; i > 0; i--) {
function countDown() {
setInterval(function () {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
}, 1000);
}
}
</script>
这看起来应该很简单,但这让我很困惑。非常感谢您的帮助请尝试
<script type="text/javascript">
function countDown() {
var i = 5;
var myinterval = setInterval(function() {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
if (i === 0) {
clearInterval(myInterval);
//call your function
}
else {
i--;
}
}, 1000);
}
</script>
函数倒计时(){
var i=5;
var myinterval=setInterval(函数(){
document.getElementById(“displayDiv”).innerHTML=“编号:”+i;
如果(i==0){
clearInterval(myInterval);
//调用你的函数
}
否则{
我--;
}
}, 1000);
}
DEMO:(包括额外的回调参数)您的尝试失败了,因为您没有调用函数,您只是执行代码创建了一个命名函数表达式5次,但从未调用过。我不敢相信我没有看到这一点。谢谢你的解释@罗伯-看起来好多了,变了。谢谢你。它看起来更干净,也谢谢你的参考!谢谢如果你认为我的答案确实帮助了你,你可以按下绿色的复选标记来接受这个答案@JonDoeCA-它被称为
a | | b()
只是表示,如果a为false,则执行b()
。在i--| | clearInterval(int)
中,当i--
为0(0为false)
时,执行clearInterval(int)
。最适合像我这样懒惰的人!(一年前我问过这个问题:;)
)
<script type="text/javascript">
function countDown() {
var i = 5;
var myinterval = setInterval(function() {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
if (i === 0) {
clearInterval(myInterval);
//call your function
}
else {
i--;
}
}, 1000);
}
</script>
function countDown(i) {
var int = setInterval(function () {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
i-- || clearInterval(int); //if i is 0, then stop the interval
}, 1000);
}
countDown(5);