2011-07-14 51 views
0

我有一個JavaScript變量在我的DOM的頭,我需要訪問它在外部的js文件,但它似乎來到未定義。訪問頭JavaScript的變量.js文件jQuery的功能

在我的腦海裏,我有類似的東西。

<head> 
<script type="text/javascript"> 
    var overlayAlignment = ["left:20px","right:40px","left:50px"]; 
</script> 
    </head> 

外部js文件

$(document).ready(function() { 
alert(overlayAlignment[0]); 
}); 

在我的外部js文件我想使用的變量,但這樣的事情出現不確定的時候,任何知道我做錯了。

我發現我可以從頭部的外部.js運行一個函數來設置overlayAlignment變量,如果我將overlayAlignment變量添加到.js文件。

<head> 
<script type="text/javascript"> 
    setOverlayAlignment("value1", "value2", "values3"); 
</script> 
</head> 

外部js文件

function setOverlayAlignment(value1, value2, value3) { 
    overlayalignment[0] = value1; 
    overlayalignment[1] = value2; 
    overlayalignment[2] = value3; 
} 

這仍然出現未定義當我嘗試但是在我的jQuery函數中使用它。奇怪的是,我認爲$(document).ready是告訴函數等待dom被加載運行,如果是這種情況,爲什麼overlayAlignment在運行時未定義?

我需要這樣做,因爲overlayAlignment變量值只在運行時才知道。

+0

您是否在您的示例中忽略了'

3

您需要將head中的JavaScript代碼用script標記包圍。

因此,你的第一個例子確實應該:

<head> 
<script> 
var overlayAlignment = ["left:20px","right:40px","left:50px"]; 
</script> 
</head> 

而且你的第二個應該是:

<head> 
<script> 
setOverlayAlignment("value1", "value2", "values3"); 
</script> 
</head> 
+0

更正了我原來的帖子,對不起,我離開了。它在那裏,但仍然沒有工作。 – theDawckta