使用按钮按下相同的随机图像

时间:2013-08-06 00:41:45

标签: javascript html

我试图让这段代码生成10个图像的随机数,所以每次点击按钮我都会得到一个随机数的图像,我只想要这个1图像,按钮不会消失所以我可以再试一次。

<!DOCTYPE html>
<html>
<body>

<input class="randombutton" type="button" value="Randomize" onclick="randomImg1()"/>

<script type="text/javascript">
    function randomImg1() {


      myImages1 = "Myimage.jpg";

      var rnd = Math.floor( Math.random() * 10 );

     document.write(myImages1[rnd]);
    }

</script>

</body>
</html>

2 个答案:

答案 0 :(得分:3)

您需要动态更新内容,而不是使用document.write。另外,myImages1必须是一个数组。

<!DOCTYPE html>
<html>
<body>

<input class="randombutton" type="button" value="Randomize" onclick="randomImg1()"/>

<script type="text/javascript">
    function randomImg1() {


      myImages1 = new Array();
      myImages1[0] = "Myimage.jpg";
      myImages1[1] = "Myimage1.jpg";

      var rnd = Math.floor( Math.random() * myImages1.length ); //incorporated other solution

      document.getElementById("image").innerHTML = "<img src='" + myImages1[rnd] + "' alt='image'></img>";
    }

</script>
<div id="image"></div>
</body>
</html>

答案 1 :(得分:3)

myImages1是一个不是数组的字符串。并且您需要将random()乘以数组中的元素数。

function randomImg1() {
   var myImages1 = ['Myimage.jpg'];
   var rnd = Math.floor(Math.random() * myImages1.length );
   document.write(myImages1[rnd]);
}