1

imgNumber 変数を検索した後、If/Else ステートメントを使用して画面に特定のテキストを書き込もうとしています。何らかの理由で、imgNumber 変数に含まれるテキストに関係なく、文字列 'cockroaches' のみを書き込みます。

また、imgNumber はランダムな文字列です (常に myImages 変数の文字列の 1 つになります)。

ここで何が欠けていますか?

<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

Your if conditions are wrong, you need to compare using 2 equals signs. So: == not = What you're doing in there is assigning the value of the strings to your imgNumber variable...

You can find more info about this on MDN

于 2013-04-22T21:15:35.017 に答える
0

Using = is assigning the value. To compare values, you need ==

于 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 に答える