只有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"));

10-06 00:05