1

在搜索 imgNumber 变量后,我正在尝试使用 If/Else 语句在屏幕上写入某些文本。出于某种原因,无论 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>
4

3 回答 3

4

您的if条件错误,您需要使用 2 个等号进行比较。所以:==不是= 你在那里做的是将字符串的值分配给你的imgNumber变量......

您可以在MDN上找到有关此的更多信息

于 2013-04-22T21:15:35.017 回答
0

使用=是分配值。要比较值,您需要==

于 2013-04-22T21:15:39.843 回答
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;
}
于 2013-04-23T09:18:12.853 回答