将图像附加到1-10之间随机生成的数字?

时间:2015-06-29 19:01:17

标签: javascript html image random

我对HTML很新,我能够成功生成随机数,但我想将图像附加到特定数字EG卡片游戏(11 = jack = 12 = queen ..etc)< / p>

这就是我所拥有的

function numbers() {
    var x = Math.floor((Math.random() * 10) + 1);
    var img = document.createElement("img");
    if(x ==1||2||3||4||5||6||7) {
        img.src = "ace.jpg";
    }
    document.getElementById("num").innerHTML = "Rule " + x;
}

2 个答案:

答案 0 :(得分:1)

您可以使用switch...case

之类的东西
switch(x) {
case 1:
    img.src = "king.jpg";
    break;
case 2:
    img.src = "queen.jpg"
    break;
...
default:
    img.src = "ace.jpg"

}

&#34; ...&#34;只是被更多的案例所取代(你需要多少)。

default案例在没有其他案例与x匹配时运行。

如果您对为什么break关键字是必要的感兴趣,可以在我提供的链接中找到有关它的信息。基本上

  

当JavaScript代码解释器到达break关键字时,它   突破了开关区。

     

这将停止在内部执行更多代码和案例测试   块。

意味着整个switch(x){...}是一个&#34;块&#34;其中x与每个case进行比较。如果匹配,那么代码就会被执行,但如果没有任何东西告诉它停止,那么它就会继续运行代码!因此break关键字退出整个块,防止其他情况运行!

答案 1 :(得分:0)

imgArr = ['jack.png', 'queen.png','tree.png','man.png','ace.png','king.png','yellow.png','green.png','black.png','white.png'],
      randomNumber = 0,
      numImgMap = {}; // map between image and random number.

function randomNumberGenerator(){
 return Math.floor((Math.random() * 10) + 1);
}

for(var k = 0; k < 10; k++ ){
   randomNumber = randomNumberGenerator();
   numImgMap[randomNumber] = imgArr[randomNumber];

} 
// numImgMap is now your map(object) with random number associated with random images.