我在此代码中的某个地方遇到问题,比较两个图片或他们的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); //?
答案 0 :(得分:0)
你最大的问题是语法错误,使用像jslint这样的工具可以轻松避免(通过在那里粘贴代码,就像我一样,或者使用文本编辑器插件)。在这种情况下,罪魁祸首是一些流氓:
向底部。
我在这里有一份代码的工作副本:https://jsfiddle.net/9Lrjr0zq/