质量图像随机化

时间:2014-04-05 01:18:27

标签: javascript qualtrics

我正在创建一个质量调查,我想创建一种方法来随机化参与者在给定问题上看到的图像

这是我到目前为止的基本代码

var banner = document.getElementById('banner');
var picture = document.getElementById('picture');

banner.style.display = 'none';
picture.style.display = 'none';

images = [banner, picture];

function randomImage() {
    var idx = Math.floor(Math.random(0, images.length - 1) * 10);

    return images[idx];
};

var image1 = randomImage(); 
image1.style.display = 'block';

'picture'和'banner'是两个图像的ID。然而,这似乎不起作用,图像消失但随机图像不再出现。关于更好地实现此功能的任何建议?

2 个答案:

答案 0 :(得分:3)

应该......

var idx = Math.floor(Math.random() * images.length);

...因为你出于某种原因将结果乘以10,最终结果的可能性很小,为0或1。

请注意,Math.random()不接受任何参数:它始终生成[0, 1)范围内的数字。

答案 1 :(得分:2)

Math.random()不接受任何参数,并返回0到1之间的数字。相反,请使用以下公式:

var randomNumber = Math.floor(Math.random() * MAX_PLUS_ONE);

MAX_PLUS_ONE比您想要生成的最大数量多一个。在你的情况下:

var idx = Math.floor(Math.random() * images.length);

images.length在这里工作,因为最后一个索引(最大数字idx将)将比images.length

少一个