如何使用Math.random()将三张图片分配到三个img元素中?

时间:2010-11-12 19:54:35

标签: javascript math random

我有3张图片。 1.jpg,2.jpg,3.jpg。我想随机将它们分配到三个img元素中(在窗口刷新时,三个图像的位置会改变) 我如何在这里使用Math.random()?感谢。

<img src='' id='img1' />
<img src='' id='img2' />
<img src='' id='img3' />

3 个答案:

答案 0 :(得分:3)

您可以随机播放您创建的数组:

var arr = ["1.jpg", "2.jpg", "3.jpg"];
arr.sort(function() {return 0.5 - Math.random()});

Some people prefer other ways of shuffling,但是一个改组方法可以确保您在结果数组中只获得一次所有元素。

答案 1 :(得分:2)

图像可以通过六种不同的方式放入标签中。使用随机选择其中一个:

var index = Math.floor(Math.random()*6);
var ids = [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]][index];
document.getElementById('img'+ids[0]).src = '1.jpg';
document.getElementById('img'+ids[1]).src = '2.jpg';
document.getElementById('img'+ids[2]).src = '3.jpg';

答案 2 :(得分:1)

Math.floor(Math.random()*3)+1;

但分配不均匀。