【问题标题】:How to randomize an element position in Qualtrics?如何随机化 Qualtrics 中的元素位置?
【发布时间】:2020-07-20 17:29:16
【问题描述】:

我想将 Qualtrics 调查的下一个按钮放置在三个位置(水平对齐:左、中、右)。同一参与者的位置必须保持不变(例如,参与者 1 始终在左侧),但应在参与者之间随机分配(例如,参与者 2 在右侧,依此类推)。

我对个别问题使用了以下 JS 代码(因为我只能为每个问题添加 JS,但不能为整个调查添加 JS),但如果我将其应用于所有个别问题,下一个按钮将出现在不同位置同一参与者:

var Button = document.getElementById("NextButton");

var ButtonContainer = Button.parentNode; 

if(Math.random() < 0.333){
    ButtonContainer.style.textAlign = "left"
}else {
    if (Math.random() < 0.5) {
        ButtonContainer.style.textAlign = "center"
    } else {
        ButtonContainer.style.textAlign = "right"
    }
}

显然,为整个调查添加自定义代码的唯一方法是通过 CSS(在外观设置中),我知道我无法在 CSS 中实现 if/else 函数,因此我不知道该怎么做.

任何提示将不胜感激!提前致谢!

【问题讨论】:

  • 不能用纯css做随机,你必须自己定义这些位置。
  • 从未使用过 Qualtrics,但我认为您需要将第一个问题中的位置随机化,然后将其保存在问题之间不会改变的位置。也许您可以向表单元素添加一个类,然后使用form.custom-left #NextButton {text-align: left} 等设置样式?如果页面在问题之间重新加载,那么它将无法正常工作。

标签: javascript css if-statement random qualtrics


【解决方案1】:

您可以在调查中的每个页面上运行 JS,方法是将其放置在脚本标记内的调查页眉或页脚中。但是,使用您的脚本会导致按钮被放置在不同页面上的不同位置(它会为每个页面随机化)。

改为使用调查流随机化器将嵌入式数据变量设置为“左”、“右”或“中心”。我还没有这样做,但是您可以尝试将嵌入式变量通过管道传输到您的自定义 CSS 中以定位按钮。如果不起作用,您可以将嵌入的数据变量通过管道传递到页眉/页脚 JS 中以定位按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多