只有2张图片,我想在彼此之间切换,但找不到解决方案。
第一次单击时,它工作正常,但是在第二次单击时,我想返回上一张图片不起作用。我认为也许(刺痛)状况不好,但不知道是什么情况。
function exampleChangeHairs(){
var elem = document.getElementById("hairs");
if(elem.src == "hairs2.png"){
elem.src = "hairs.png";
}
elem.src = "hairs2.png";
}
function exampleChangeBody(){
var elem = document.getElementById("body");
if(elem.src == "body2.png"){
elem.src = "body.png";
}
else{
elem.src = "body2.png";
}
}
最佳答案
您在第一个函数中缺少else
,因此它将始终导致elem.src = "hairs2.png";
function exampleChangeHairs(){
var elem = document.getElementById("hairs");
if(elem.src == "hairs2.png"){
elem.src = "hairs.png";
} else {
elem.src = "hairs2.png";
}
}
编辑
经过您的进一步澄清。我明白问题出在哪里。
您在此处的
if
语句:if(elem.src == "hairs2.png")
永远不会为真。正如您看到的是console.log(elem.src)
一样,它返回:https://cdpn.io/boomboom/v2/hairs2.png
并且
https://cdpn.io/boomboom/v2/hairs2.png
不等于hairs2.png
。因此,您可以将您的
if
语句更改为:if(elem.src === "https://cdpn.io/boomboom/v2/hairs2.png")
要么
if(elem.src.includes("hairs2.png"));