我正在使用CreateJS / EaselJS构建我的内容。
我想插入一个短暂的延迟,直到有一些额外的内容可供用户使用。显示剩余时间非常重要!
我的解决方案:
myLabel.text = "5";
setTimeout(function(){ myLabel.text = "4";
setTimeout(function(){ myLabel.text = "3";
setTimeout(function(){ myLabel.text = "2";
setTimeout(function(){ myLabel.text = "1";
setTimeout(function(){
myLabel.text = "0";
myButton.addEventListener('click', myFunction);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
这可以用更短的代码吗?
奖励:将变量作为倒计时持续时间(例如5000,持续5秒)。
我希望快速回答,西蒙
答案 0 :(得分:0)
想要开始倒计时时调用减量功能。
var remaining = 5;
function decrement(){
myLabel.text = remaining;
remaining--;
if(remaining >= 0){
setTimeout(decrement, 1000);
}
}
答案 1 :(得分:0)
改为使用setInterval
:
var myNumber = 5;
myLabel.text = myNumber;
var myInterval = setInterval(function() {
myLabel.text = --myNumber;
if (myNumber === 0) {
myButton.addEventListener('click', myFunction);
clearInterval(myInterval);
}
}, 1000);
答案 2 :(得分:0)
此代码创建倒计时(fiddle):
<div id="myLabel"></div>
var myLabel = document.getElementById('myLabel');
function countdown(duration) {
myLabel.innerText = duration;
if(duration > 0) {
setTimeout(function() {
countdown(duration - 1);
}, 1000);
} else {
myButton.addEventListener('click', myFunction);
}
}
countdown(8);