0

我正在尝试使此代码生成随机数量的 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>
4

2 回答 2

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>
于 2013-08-06T00:46:20.820 回答
3

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

function randomImg1() {
   var myImages1 = ['Myimage.jpg'];
   var rnd = Math.floor(Math.random() * myImages1.length );
   document.write(myImages1[rnd]);
}
于 2013-08-06T00:46:50.697 回答