2016-04-15 43 views
1

我有兩個圖片...的Javascript瞄準內部條件語句

function leftMove(el) { 
 
    if (el.className == "la") { 
 
    el.className = "la1"; 
 
    getElementById(ra).className = "ra1"; 
 
    } else { 
 
    el.className = "la"; 
 
    getElementById(ra1).className = "ra"; 
 
    } 
 
}
.la { 
 
    position: absolute; 
 
    bottom: 370px; 
 
    opacity: .5; 
 
} 
 
.ra { 
 
    position: absolute; 
 
    bottom: 370px; 
 
    left: 1637px; 
 
    opacity: .5; 
 
} 
 
.la1 { 
 
    position: absolute; 
 
    bottom: 370px; 
 
    left: 500px; 
 
    opacity: 1; 
 
} 
 
.ra1 { 
 
    position: absolute; 
 
    bottom: 370px; 
 
    left: 1137px; 
 
    opacity: 1; 
 
}
<img src="img.png" width="290" height="228" id="la" class="la" onclick="leftMove(this)"> 
 
<img src="img.png" width="290" height="228" id="ra" class="ra" onclick="rightMove(this)">

...我想修改。具體來說,我試圖在單擊任何圖像時更改這兩個圖像的類別。我使用的JavaScript的一個例子是:

的最終目標是將有兩個圖像引用新的CSS,如下所示:

如果我這樣做是正確,這兩個圖像應移動和改變的不透明度。出於某種原因,只有帶有「la」/「la1」類的圖像會移動並更改不透明度,而「ra」/「ra1」圖像不會執行任何操作。我很確定這是因爲我的javascript壞了,但我不知道爲什麼。任何建議將不勝感激。

這是我寫的第一個代碼,所以如果我很呆,請保持溫柔。

感謝您抽出時間。 :)

+0

只需添加 「到您的document.getElementById ..就像這樣: 的getElementById(」 RA1" )的className = 「RA」 –

+0

如果開放的開發工具,通常可以通過按'F12'控制檯會拋出對問題指向錯誤 – ste2425

+0

控制檯說: 「未捕獲的ReferenceError:的getElementById沒有定義」 這是即使在傳遞getElementById之後也是如此特林。 – Croog

回答

4

你需要一個字符串傳遞給getElementById和調用功能上document

document.getElementById("ra").className = "ra1"; 
... 
document.getElementById("ra1").className = "ra"; 
+0

「ra」和「ra1」現在是我的javascript中的字符串,並且我得到了相同的結果。我把兩件事搞砸了嗎? :( – Croog

+0

@Croog也在'document'上調用'getElementById' – wero