使用Javascript在qualics中延迟显示文本
Delay Display of Text in Qualtrics using Javascript
(这与未回答的问题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);
});
相关文章:
- 延迟高亮显示文本区域中的文本
- 如何利用多链接延迟检查并显示ping结果,然后使用JavaScript选择最快的URL
- 使用jQuery延迟表单输入,并在延迟后在同一页面上显示结果
- 在联系人表单中显示隐藏警告被延迟
- Unity 3d对象在场景中延迟后显示
- 如何将隐藏/显示事件延迟到提交后Iframe加载
- 延迟后触发ng显示
- jQuery/JavaScript 延迟和显示
- 您如何使其延迟并且直到 16 秒过去时才显示
- 将现有的jQuery从点击功能转换为延迟自动显示
- 如何自动隐藏和显示具有延迟的元素
- 在输入字段中显示文本,字母对字母有延迟
- 弹出框延迟显示在鼠标输入(Angularjs)上
- 通过 jquery 在 2 秒后延迟显示
- 使用Javascript在qualics中延迟显示文本
- 我可以延迟显示一个模态对话框在Bootstrap 3
- Javascript以一秒钟的延迟显示PHP值
- 延迟显示下拉菜单内容
- 反向列表和延迟显示
- 延迟显示电子邮件地址对电子邮件抓取者有用吗?