质量中的图像随机化



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

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

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';

其中"图片"和"横幅"是两个图像的 ID。但是,这似乎不起作用,图像消失了,但随机图像不会再次出现。关于制作此功能的更好方法的任何建议?

应该是...

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

。目前,由于某种原因,您将结果乘以 10,最终结果为 0 或 1 的可能性很小。

请注意,Math.random() 不接受任何参数:它总是在[0, 1)范围内生成一个数字。

Math.random()

带任何参数,并返回一个介于 0 和 1 之间的数字。 请改用以下公式:

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

其中MAX_PLUS_ONE比要生成的最大数量多 1。 在您的情况下:

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

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

最新更新