我设计了一项新的调查,在我的多项选择问题中,替代方案应隐藏1秒,以便用户在回答之前倾向于更多地关注问题。 到目前为止,我的代码只能隐藏选项,但等待和显示仍然缺失。 (以下代码)
感谢您提供有关如何解决此问题的任何帮助或建议。
Qualtrics.SurveyEngine.addOnload(function () {
this.hideNextButton();
this.hideChoices();
//HERE I WOULD LIKE THE CODE TO WAIT FOR 1 sec
//HERE I WOULD LIKE THE CHOICES TO REAPPEAR ON THE SCREEN
this.questionclick = function (event, element) {
if (this.getChoiceValue(4) == true) {
this.clickNextButton();
} else if (this.getChoiceValue(5) == true) {
this.clickNextButton();
}
}
});
答案 0 :(得分:1)
这里有两个问题。
setTimeout()
和回调函数完成的。因此,在不了解Qualtrics SurveyEngine的任何内容的情况下,从您的代码中可以清楚地看出this
回调中的onLoad
是指您的调查对象。我们稍后会在setTimeout
回调中需要该对象,所以让我们存储它。其余的很简单:
Qualtrics.SurveyEngine.addOnload(function () {
var survey = this;
// attach click event handler
self.questionclick = function (event, element) {
// using `survey` instead of `this` would work here, too
if (this.getChoiceValue(4) || this.getChoiceValue(5)) {
this.clickNextButton();
}
};
// hide buttons
survey.hideNextButton();
survey.hideChoices();
// after 1000ms, show buttons again
setTimeout(function () {
survey.showNextButton();
survey.showChoices();
}, 1000);
});