2013-03-06 71 views
0

我在javascript中遇到了變量問題。我的情況是:使用JavaScript進行變量衝突

在PHP文件,我有:

<div class="fd_text" onmouseover="zobraz_text('pom','1','1')" onmouseout="zobraz_text('pom','1','0')">something in</div> 

在JS文件,我有:

var pom1 = "Some text1"; 
var pom2 = "Some text2"; 

function zobraz_text(firma, cislo, udalost){ 
    obsah_text = firma+cislo; //this is wrong and why I wrote lower in text under this code 

    document.getElementById("bloks").innerHTML = document.getElementById("bloks").innerHTML + obsah_text; //this ID is correct 
} 

obsah_text是可變的,必須從pom1pom2等添加文本...
其中pom1pom2我從mouseover得到這是在PHP文件中。

如果我組首先從功能zobraz_text 2個parametrs我給pom1,但這pom1 isn't一樣pom1在那裏我有文字。在網上我有文字"pom1",但我必須有文字"Some text1"

當我刪除變量obsah_text並簡單地添加變量pom1(如本示例代碼)時,我的代碼有效。

這讓我的文字從變量,這是確定的,但如果我添加變量那麼這段代碼只能在300情況1

document.getElementById("bloks").innerHTML = document.getElementById("bloks").innerHTML + pom1; 

我(對我有第一和功能zobraz_text()秒parametrs)相信你理解並幫助我。我希望這對你們很簡單。

回答

3

您不能創建變量的變量。如果pom1pom2是全球性的,你可能會做window[firma + cislo],但我不會推薦這樣做。

相反,使用對象來存儲勁歌:

var poms = { 
    "pom1": "Some text1", 
    "pom2": "Some text2", 
} 
//snip 
obsah_text = poms[firma + cislo]; 
+0

它的工作原理,謝謝。 +1 – 2013-03-06 13:34:31