2016-04-15 45 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