0

我对javascript中的计时器功能有疑问。有没有办法创建一个简单的函数,我会在我的游戏中调用它,例如只持续 3 秒。它只会被调用一次,但我不知道如何将它设置为恰好 x 秒长。我这个问题的另一部分是如何延迟某些功能。(例如:我想Boss();在我的文字完成后打电话(我想把它放在画布上更短的时间))

4

2 回答 2

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();
});

您可以了解更多关于:

于 2013-03-22T22:26:22.430 回答
2

我不明白第一部分。“例如仅持续 3 秒”是什么意思?意思是?

对于延迟:

setTimeout(function() {
    //do stuff
}, milliseconds)
于 2013-03-22T21:41:56.430 回答