setTimeout()或delay()在js函数中不起作用

时间:2016-06-09 15:24:44

标签: javascript html

我想在startSound()之后添加延迟或setTimeout但无法添加。如果我添加,它不起作用。我想在声音完成后延迟5-10秒。 并且还希望在ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv /usr/local/bin/virtualenv 之后添加一个像“YOU WIN $ 2000”这样的HTML代码。

JS CODE:

startSound()

1 个答案:

答案 0 :(得分:0)

好吧,你没有写 你试图使用该功能。标准是这样的:

self.rightAnswer = function(elm) {

    $("#" + elm).fadeOut(1500, function() {
        if (self.level() == 5 || self.level() == 10) {

            startSound('wrongsound2', false);
            setTimeout(function(){
                // whatever commands you want to get executed after 5 seconds go here...
            }, 5000);
            [...]

所以基本上你将一些函数移交给setTimeout()调用(这里是一个匿名函数),并以毫秒为单位延迟所需的时间。这就是全部。

注意: javascript(主要是)遵循异步方法。脚本执行延迟了一段时间。因此,在调用setTimeout()函数之后的任何命令都会立即执行。只有那些在所述函数中移交的命令才会被延迟,因为那时会调用该函数。可以把它想象成将命令推入队列,该队列将在指定的时间后触发。 setTimeout() 暂停/休眠功能。它只将作业注册到延迟队列中并立即返回。