String / Image / ID Comparison Javascript

String / Image / ID Comparison Javascript

本文关键字:Javascript Comparison Image String ID      更新时间:2023-09-26

在比较这两个图像或它们的Id时,我在代码中遇到了问题。我不确定我到底在哪里搞砸了,但肯定有语法错误。我已经尝试了许多字符串和id比较选项。我也不确定我的函数或它的参数是否错误。

<img alt="" src="blah.jpg" style="height: 276px; width: 200px"  id="imgClickAndChange1" onclick="changeImage(this)" />
<img alt="" src="blah.jpg" style="height: 276px; width: 200px"   id="imgClickAndChange2" onclick="changeImage(this)" />

<script language="javascript">
function changeImage(imagePass) {
    var num = Math.floor((Math.random() * 48) + 1);
    var n = num.toString();
    var numImg = n.concat(".jpeg");
    var string = "/Images/folder/";
    var final = string.concat(numImg);
    if(imagePass.src === "blah.jpg") {
        var num2 = Math.floor((Math.random() * 48) + 1);
        var n2 = num2.toString();
        var numImg2 = n2.concat(".jpeg");
        var final2 = string.concat(numImg2);
        if(imagePass.id == "imgClickAndChange1") {
            var image = document.getElementById('imgClickAndChange2');
            image.src = final;
            imagePass.src = final2;
            if(image.src == imagePass.src) {
                while(image.src == imagePass.src) {
                    num = Math.floor((Math.random() * 48) + 1);
                    n = num.toString();
                    numImg = n.concat(".jpeg");
                    final = string.concat(numImg);
                    image.src = final;
                }
            }
        }
    } else if(imagePass.id == "imgClickAndChange1") {
        var image = document.getElementById('imgClickAndChange2');
        image.src = final;
        if(image.src == imagePass.src) {
            while(image.src == imagePass.src) {
                num = Math.floor((Math.random() * 48) + 1);
                n = num.toString();
                numImg = n.concat(".jpeg");
                final = string.concat(numImg):
                image.src = final;
            }
         }
    } else if (imagePass.id == "imgClickAndChange2") {
        var image = document.getElementById('imgClickAndChange1');
        image.src = final;
        if(image.src == imagePass.src) {
            while(image.src == imagePass.src) {
                num = Math.floor((Math.random() * 48) + 1);
                n = num.toString();
                numImg = n.concat(".jpeg");
                final = string.concat(numImg):
                image.src = final;
            }   
        }
    }
}

</script>

它应该做什么:你在屏幕上有两个图像。单击某个图像时,另一个图像将变为文件夹中的随机图像。同时检查图像是否不相同。(一开始,屏幕上有两个相同的图像,当点击其中一个时,图像将变为不同的图像。)

---我应该这样做吗:

var imagePassed = document.getElementById(imagePass); //?

您最大的问题是语法错误,使用jslint等工具(可以像我一样将代码粘贴到其中,也可以使用文本编辑器插件)可以轻松避免语法错误。在这种情况下,罪魁祸首是一些底层的流氓:

我在这里有你的代码的工作副本:https://jsfiddle.net/9Lrjr0zq/