Как рандомизировать позицию элемента в Qualtrics? - PullRequest
0 голосов
/ 08 апреля 2020

Я хотел бы разместить следующую кнопку опроса Qualtrics в трех положениях (по горизонтали: слева, по центру, справа). Позиция должна быть постоянной для одного и того же участника (например, для участника 1 всегда слева), но должна быть рандомизирована между участниками (например, участник 2 справа и т. Д.).

Я использовал следующее 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 (в настройках Look & Feel), я знаю, что не могу реализовать функции / else в CSS, таким образом, я не знаю, что делать.

Любая подсказка будет очень признательна! Заранее спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Вы можете запустить JS на каждой странице опроса, поместив ее в верхний или нижний колонтитул опроса внутри тега скрипта. Однако использование вашего скрипта приведет к тому, что кнопка будет размещена в разных позициях на разных страницах (она будет случайной для каждой страницы).

Вместо этого используйте рандомизатор потока опроса, чтобы установить для встроенной переменной данных значение «left» , "право" или "центр". Я этого не делал, но вы можете попробовать вставить встроенную переменную в свой пользовательский CSS, чтобы расположить кнопку. Если это не работает, вы можете направить встроенную переменную данных в верхний / нижний колонтитул JS, чтобы расположить кнопку.

...