我正在尝试使用If / Else语句在搜索imgNumber变量后在屏幕上写入某些文本。出于某种原因,无论imgNumber变量中包含哪个文本,它都只写字符串'cockroaches'。
此外,imgNumber是一个随机字符串(它始终是myImages变量中的一个字符串)。
我在这里缺少什么?
<script type="text/javascript">
function changeImg(imgNumber) {
var myImages = ["images/homepage/homepage-header.jpg", "images/homepage/homepage-header-3.jpg", "images/homepage/homepage-header-5.jpg"];
var imgShown = document.body.style.backgroundImage;
var newImgNumber =Math.floor(Math.random()*myImages.length);
document.body.style.backgroundImage = 'url('+myImages[newImgNumber]+')';
var imgNumber = myImages[newImgNumber];
if (imgNumber = "images/homepage/homepage-header-5.jpg")
{
document.write('cockroaches');
}
else if (imgNumber = "images/homepage/homepage-header-3.jpg")
{
document.write('ants');
}
else
{
document.write('termites');
}
var n=myImages.indexOf("images/homepage/homepage-header-5.jpg");
document.write(n);
}
window.onload=changeImg;
</script>
答案 0 :(得分:4)
您的if
条件错误,您需要使用2个等号进行比较。所以:==
不是=
您正在做的是将字符串的值分配给imgNumber
变量......
您可以在MDN
上找到有关此内容的更多信息答案 1 :(得分:0)
使用=
分配值。要比较值,您需要==
答案 2 :(得分:0)
1)像之前的回答一样,使用== 2)将来,使用更正确的变体:
var imgNumber = Number("a4r t 4r43 43a b345b 123 cc gaeg4".replace(/\D+/g,""));
switch (imgNumber) {
case 0:
// code here
break;
case 1:
// code here
break;
default:
// code here
break;
}