使用Javascript在qualics中延迟显示文本

Delay Display of Text in Qualtrics using Javascript

本文关键字:延迟 显示 文本 qualics Javascript 使用      更新时间:2023-09-26

(这与未回答的问题https://stackoverflow.com/questions/26745762/delaying-presentation-of-text-in-qualtrics有关)

我正在做一份质量调查。我想延迟一些文本(比如,text)被显示-它应该被隐藏5秒,然后显示。

我在这里找到了一个资源- Javascript for Qualtrics -我无法开始工作。

根据这个例子,我尝试通过延迟照片的显示来复制它。我这样做是为了看看在我继续延迟显示文本(而不是照片)之前,我是否能让这个工作。

在HTML部分,我输入:

Time: <span id="time1">30</span><br>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/%C3%81guila_calva.jpg/1280px-%C3%81guila_calva.jpg" style="width: 133px; height: 115px;" class='pic1' />
在Javascript部分,我有:
started = false;
function countDown1() {
  if (!started)
    started = true;
  else {
    var value1 = parseInt($('time1').innerHTML);
    $('time1').innerHTML = value1 - 1;
    if (value1 == 26) {
      var styling1 = document.getElementsByClassName('pic1')[0];
      styling1.style.display = "none";
    }
  }
  setTimeout(countDown1, 1000);
}
Event.observe(window, 'load', countDown1);

由于某些原因,定时器和照片什么都没发生。

我是否需要将上面的Javascript封装在:

Qualtrics.SurveyEngine.addOnload(function()
{   
});

我也试过了,但是没有变化。

所以我有两个问题。1. 我如何修改上面的代码,使其工作。和2。如何修改代码的工作版本,以便在一定时间后显示文本?

你把它弄得太复杂了。

下面是问题的示例html:

This is a question. <span id="hiddentext" style="display:none">This text 
will display after five seconds.</span>

下面是问题的javascript:

Qualtrics.SurveyEngine.addOnload(function()
{
    setTimeout("$('hiddentext').style.display = 'inline'",5000);
});

这将在2秒内隐藏多项选择题中的单选按钮或选项。如果你需要隐藏下一个按钮,你可以从已经在Qualtrics中提供的问题中添加一个定时问题,并将其设置为"在(秒)后启用提交"。

Qualtrics.SurveyEngine.addOnload(function() {
var QID = this.questionId;
console.log(QID);
for (var i = 1; i < 4; i++) {
    document.getElementById( QID + "-" + i + "-label" ).style.display="none";
}

(function(delay_container){
    for (var i = 1 ; i < 4 ; i ++){
        document.getElementById(QID + "-" + i + "-label").style.display="block";
    }
}).delay(2,this.questionContainer);
});    

假设你有两个句子,它们是两个独立的描述性文本框。您希望第二个框在第一个框之后几秒钟出现。当分配给第二个盒子时,以下内容对我来说是有效的。相同的代码也适用于以下框。你也可以在页面末尾放置一个计时问题来隐藏下一步按钮。

Qualtrics.SurveyEngine.addOnload(function() {
var QID = this.questionId;
console.log(QID);
for (var i = 1; i < 4; i++) {
    document.getElementById( QID).style.display="none";
}

(function(delay_container){
    for (var i = 1 ; i < 4 ; i ++){
        document.getElementById(QID).style.display="block";
    }
}).delay(2,this.questionContainer);

});