2010-09-23 137 views
1

我有這個index.html的調用其他文件變量jQuery的

<script type="text/javascript" src="js/jquery-latest.js"></script> 
    <script type="text/javascript" src="jqFunc.js"></script> 
    <script type="text/javascript"> 

      var kamote = 6; 

    </script> 

這jqFunc.js

$(function(){ 
    alert(kamote); 
}); 

問題是價值6不會出現.. 有什麼辦法從這樣的其他文件調用變量?

回答

3

我已經測試過,它的做工精細

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="jqFunc.js"></script> 
<script type="text/javascript"> 
var kamote = 6; 
</script> 

有可能與

問題
<script type="text/javascript" src="js/jquery-latest.js"></script> 

ie js/jquery-latest.js file dont exits!

+0

我有一個關於我的答案的解釋。 ;) – Reigel 2010-09-23 02:28:15

+0

@Reigel你正試圖迴應你的帖子。這種轉變在這裏沒有意義。 – 2010-09-23 02:34:08

+0

是這個posible? $(文件)。就緒(函數(){$ .post的( '的settings.php retVar = slideSpeed?',函數(E){ VAR X = E; }); 警報(X);} );我沒有得到任何迴應,但如果我用alert(e)替換var x = e,我工作正常 – 2010-09-23 02:38:13

0

你必須把kamote放在全局窗口對象中。

嘗試:

<script type="text/javascript" src="js/jquery-latest.js"></script> 
<script type="text/javascript" src="jqFunc.js"></script> 
<script type="text/javascript"> 
    window.kamote = 6; 
</script> 

這jqFunc.js

$(function(){ 
    alert(window.kamote); 
}); 
+0

'var kamote = 6;'在函數外面會做同樣的事情。 – Strelok 2010-09-23 02:09:11

+0

@Strelok好的一點,我應該想一下,並在跳躍之前進行測試。我的第一個downvote;) – Day 2010-09-23 02:21:52

+0

其實,OP的代碼適合我時,我測試它... – Day 2010-09-23 02:24:36

0

JavaScript是一種解釋。它會逐行讀取你的代碼,然後執行它。你錯過了那裏的邏輯。警報後,您已經爲變量分配了一個值。這不是你所期望的。

試試這個,

<script type="text/javascript"> 
    var kamote = 6; 
</script> 
<script type="text/javascript" src="jqFunc.js"></script> 

和明白我的意思。 ;)

補充說明:

,但仍可能會得到一些時間所需的輸出。這是因爲你已經用ready handler事件封裝了你的警報。如果你的DOM需要長時間來準備,警報就會6.但是,如果它的快速,你不會得到6