我对javascript中的计时器功能有疑问。
有没有办法创建一个简单的功能,我将在我的游戏中调用,例如只持续3秒。它只会被调用一次,但我不知道如何设置它恰好是x秒长。我的另一部分问题是如何延迟某些功能。 (例如:我希望在文本完成后调用Boss();
(我希望在画布上使用更短的时间))
答案 0 :(得分:3)
使用setTimeout()
函数使系统等待特定的持续时间,例如。 setTimeout(afterThreeSecondsDoThis, 3000)
。所以你可以做的是设置一个变量timer
来跟踪超时,并提供一个你想在时间到时执行的功能。看看这个小提琴演示:http://jsfiddle.net/amyamy86/V4cPR/
var timer = null;
var WAIT_TIME = 3000; // 3 seconds
var afterThreeSecondsDoThis = function () {
alert('3 seconds has passed!');
clearTimeout(timer); // remove timer
};
var startTimer = function () {
timer = setTimeout(afterThreeSecondsDoThis, WAIT_TIME);
};
var boss = function() {
alert('Now enjoy the show!');
};
startTimer();
var text = $('#text').animate({
top: '-1200'
}, 40000, 'linear', function () {
// text has finished animating
boss();
});
您可以详细了解:
答案 1 :(得分:2)
我不明白第一部分。什么“持续例如只有3秒。”意思?
延迟:
setTimeout(function() {
//do stuff
}, milliseconds)