2013-11-25 86 views
0

我想讓一個Javascript文件由另一個加載,但我希望第二個文件在延遲後加載。我需要添加什麼才能延遲?在JS文件中設置延遲以調用JS文件

$(document).ready(function() { 
    var script = document.createElement('script'); 
    script.src = "https://lib.store.yahoo.net/lib/yhst-136932942155053/BongoCheckout.Yahoo.2.js"; 
    document.getElementsByTagName('body')[0].appendChild(script); 
}); 
+0

https://developer.mozilla.org/en/docs/Web/API/window.setTimeout – Quentin

回答

0

您可以使用setTimeout來加載JavaScript文件之前,X毫秒延遲。

$(document).ready(function() { 
    var script = document.createElement('script'); 
    script.src = "https://lib.store.yahoo.net/lib/yhst-136932942155053/BongoCheckout.Yahoo.2.js"; 
    setTimeout(function(){ 
     document.body.appendChild(script); 
    },2000); // 2000 is the delay in milliseconds 
}); 

setTimeout將運行您在幾毫秒後給它的函數。

看到這個MDN Article更多官方的東西約setTimeout

另外,getElementsByTagName是一個糟糕的方式來獲得身體。改爲使用document.body

下面是關於setTimeout的一個簡單演示:JSFiddle

+0

謝謝!如果我有15分的代表,我會答覆你的答案。謝謝! – docwho

+0

下面是'setTimeout'的演示:[JSFiddle](http://jsfiddle.net/superscript18/Xazf7/1/)。 –

1

您可以使用window.setTimeout(func, millisecs)

$(document).ready(function() { 
    var script = document.createElement('script'); 
script.src = "https://lib.store.yahoo.net/lib/yhst-136932942155053/BongoCheckout.Yahoo.2.js"; 
    window.setTimeout(function() { 
     document.getElementsByTagName('body')[0].appendChild(script); 
    }, 1000); // 1 sec 
}); 
+1

謝謝,8分鐘後會接受答案。再次感謝。 – docwho