我有一个关于 javascript 中计时器函数的问题。
有没有办法创建一个简单的函数,我将在游戏期间调用该函数,例如仅持续 3 秒。它只会被调用一次,但我不知道如何将其设置为恰好 x 秒长。这个问题的另一部分是如何延迟某些功能。 (例如:我想在文本完成后调用 Boss();
(我想在 Canvas 上显示较短的时间))
最佳答案
您可以使用setTimeout()
函数让系统等待特定的持续时间,例如。 setTimeout(afterThreeSecondsDoThis, 3000)
。因此,您可以做的是设置一个变量timer
来跟踪超时并提供您想要在时间到时执行的函数。看看这个 fiddle 来演示: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();
});
您可以了解更多信息:
关于javascript - JavaScript 的一次性文本计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580292/