如何随机化 Qualtrics 中的元素位置?
How to randomize an element position in Qualtrics?
我想将 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(在外观设置中),我知道我无法在 [=20] 中实现 if/else 功能=], 不知如何是好
如有任何提示,我们将不胜感激!提前致谢!
您可以 运行 将 JS 放在调查的每个页面上,方法是将其放在脚本标记内的调查页眉或页脚中。但是,使用您的脚本会导致按钮被放置在不同页面上的不同位置(它会随机分配给每个页面)。
而是使用调查流随机化器将嵌入数据变量设置为 "left"、"right" 或 "center"。我还没有这样做,但您可以尝试将嵌入式变量通过管道传输到您的自定义 CSS 中以定位按钮。如果不起作用,您可以将嵌入式数据变量通过管道传输到 header/footer JS 中以定位按钮。
我想将 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(在外观设置中),我知道我无法在 [=20] 中实现 if/else 功能=], 不知如何是好
如有任何提示,我们将不胜感激!提前致谢!
您可以 运行 将 JS 放在调查的每个页面上,方法是将其放在脚本标记内的调查页眉或页脚中。但是,使用您的脚本会导致按钮被放置在不同页面上的不同位置(它会随机分配给每个页面)。
而是使用调查流随机化器将嵌入数据变量设置为 "left"、"right" 或 "center"。我还没有这样做,但您可以尝试将嵌入式变量通过管道传输到您的自定义 CSS 中以定位按钮。如果不起作用,您可以将嵌入式数据变量通过管道传输到 header/footer JS 中以定位按钮。