【问题标题】:Image randomization in qualtricsqualtrics中的图像随机化
【发布时间】:2014-04-05 01:18:26
【问题描述】:

我正在创建一个 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。但是,这似乎不起作用,图像消失但随机图像不会重新出现。关于更好地实现此功能的任何建议?

【问题讨论】:

    标签: javascript qualtrics


    【解决方案1】:

    应该是……

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

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

    请注意,Math.random() 不接受任何参数:它总是在[0, 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 小一

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多