2016-03-23 160 views
1

更新的任何动画加载之前,以适应社会的标准设置延迟或暂停初始化

我与需要延迟一个脚本工作(或有setTimeout的)或之前初始化找出把它放在哪里...

至于延迟,如果我没有弄错,这主要用于jquery ...所以例如: $('id or class here').delay(2000); ...对不对?

至于setTimeout,如果我没有弄错,它会与JavaScript正确?如果是这样,它不会看起来像这样:setTimeout(function() {function_name},2000);或稍有不同的变化?

无论这两种方法,并试图将其添加到我认为应该去的地方(使用上述任何变体) - 出于某种原因,它只是不想工作正确...控制台并不真正帮助要么检查错误。

请注意,我相对较新的JavaScript和我采用的这个脚本,请裸露在这里。

在坚果壳,我正在尝试设置的2秒(2000毫秒)的延迟开始任何初始化或之前...

JS代码(如果我认为问题在于):

$(document).ready(function() { 
    // Additional code here... 
    // start 
    BG.init(); 

    // Additional code here... 
    } 
}); 
+0

你也可以像这样使用'setTimeOut':'setTimeout(function_name,2000);' –

+0

正确,这是一个稍微不同的'setTimeout'变种,我也用过....我只是不确定在哪里放置它。 – Michael

+1

你可以隔离你在另一个小代码块中询问的代码吗?这应该有助于人们更好地阅读 – JordanHendrix

回答

3

如果你有这样的:

$(document).ready(function() { 

将这个:

$(document).ready(function() { 
    setTimeout(function() { 

然后,你有这样的:

}); 

// wrapper for background animation functionality 
var BG = { 

将这个:

}, 2000); 
}); 

// wrapper for background animation functionality 
var BG = { 

然后,如果你不想承担世界上每个人的愤怒,缩进我们刚刚创建了一个新的函数。因为缩进是生活的原因。

+0

谢谢VoteyDisciple!我实际上尝试过这种方法,但是我并没有完全正确 - 关闭'},2000);'我放在'.ready'结束标记上 - 奇怪的是,这样做并没有显示任何错误控制台在我的结尾 - 我用你的方法,它似乎现在工作!非常感谢你! – Michael

0

有很多'无用'的代码可以帮助我们。

$(document).ready(function() { 
    function initiationProcess() { 
     // setup logo image 
     BG.logo = new Image(); 
     BG.logo.onload = function() { 
     BG.logo_loaded = true; 
     BG.showLogo(); 
     } 
     // /../ more code /../ 
     // wire ticker listener 
     Ticker.addListener(BG.tick); 
     // start 
     BG.init(); 
     // /../ more code /../ 
    } 

    setTimeout(initiationProcess, 2000); 
}); 

编辑:仅在需求方知基地:)

我已经编辑你的$的document.ready块,包括超时,看看,看看下一次份额: 我还想指出,它被认为是不好的做法(更不用说它可能导致错误的代码)只能部分在您的脚本文件中使用分号。有points and counterpoints使用分号,但选择一个标准,坚持下去!

+0

这是一种更有效的方式吗?或者说,“VoteyDisciple”发布了两个更好的选择? – Michael