2012-09-23 68 views
0

我有腳本(myscript.js)在任何HTML頁面中創建div和動畫div。我的腳本使用jQuery動畫功能通過腳本文件添加jquery腳本

我目前使用

下面的代碼(它的示例代碼段)

<script src="jquery.js"><script> 
<script src="myscript.js"><script> 

但是,這可能僅使用下面的代碼可以自動添加jQuery庫也?

<script src="myscript.js"><script> 
+0

http://stackoverflow.com/questions/950087/include-javascript-file-inside-javascript-file –

回答

2

要確保的myscript.js其餘部分加載jQuery的之前沒有得到執行,使用這樣的:

function dostuff() { 
    //animate elements, etc. 
} 
var head = document.getElementsByTagName('head')[0]; 
var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.src = 'jquery.js'; 
script.onreadystatechange = dostuff; 
script.onload = dostuff; 
head.appendChild(script); 

注:這是一個有點不清楚爲什麼你止跌不想在head中明確添加jQuery部分。

+1

唯一的問題是,我不要以爲jQuery會與myscript.js一起工作,因爲它會在myscript.js之後加載。 –

+0

@DC_ JavaScript通常是同步的。 – Chris

+0

它意味着在添加下面的代碼之後myscript可以利用jquery函數。這是正確的嗎 ? – Kasma

4

插入這對你myscript.js

var h=document.getElementsByTagName('head')[0]; 
var s=document.createElement('script'); 
s.type='text/javascript'; 
s.src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js'; 
h.appendChild(s); 

,但你將不得不等待的頂部,直到腳本中使用waitforload功能加載

function w4l(){ 
    if (typeof jQuery != "function"){ 
     setTimeout("w4l()", 1000); 
     return; 
    }else{ 
     //Do Jquery thing 
    } 
} 
w4l(); 

或只是簡單的複製所有的jquery.js代碼文件到你的myscript.js,AKA將2個文件合併爲一個