在初始化之前设置延迟或超时

时间:2016-03-23 21:20:21

标签: javascript jquery html5 delay delayed-execution

我正在处理一个需要在任何动画加载或初始化之前延迟(或有一个setTimeout)的脚本,但似乎无法找出放置它的位置。

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

至于setTimeout,如果我没有弄错,那将是javascript正确吗?如果是这样,它看起来不会与此类似:setTimeout(function () {function_name},2000);或稍微不同的变体吗?

无论这两种方法如何,并尝试将其添加到我认为应该去的地方(使用上面提到的任何变体),由于某种原因它只是无法正常工作。控制台并没有真正帮助检查错误。

简而言之,我试图在任何开始或初始化之前设置2秒(2000毫秒)的延迟。

JS CODE(我相信问题所在):

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

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

2 个答案:

答案 0 :(得分:3)

你有这个:

$(document).ready(function() {

把这个:

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

然后你有这个:

});

// wrapper for background animation functionality
var BG = {

把这个:

    }, 2000);
});

// wrapper for background animation functionality
var BG = {

然后,如果你不想引起世界上每个人的愤怒,请将我们刚刚创建的新功能中的内容缩进一个级别。因为压痕是生活中的东西。

答案 1 :(得分:0)

我们有很多“无用的”代码可以帮助您。下次只分享需要知道的基础:)

我已经编辑了你的$ document.ready块以包含超时,看看:

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

修改: 我还要注意,在脚本文件中仅部分使用分号被认为是不好的做法(更不用说它可能会导致错误的代码)。使用分号有points and counterpoints,但选择标准并坚持下去!