问题描述
我希望参与者有一个设定的时限,以在由@R_857_6404@分隔的区块中完成一组问题,并在时间到时自动前进到净区块。但是,我有几位参与者抱怨说,当计时器变为0时,它没有前进到下一个块,而是将他们移至下一部分(在本例中,研究结束)。如果他们在时间结束之前 完成调查,则似乎会发生这种情况(也就是说,如果他们在时间结束之前到达下一个程序段,则倒数计时会继续进行,并且当计时器变为0时它会自动前进即使已经完成了上一个代码块)。
我试图弄清楚是否可以调整我正在使用的代码,以使时间限制仅适用于我的问题所在的区块(其中的嵌入数据所在)。 / p>
这是代码:
Qualtrics.SurveyEngine.addOnload(function()
{
var headerCont = document.createElement("div");
headerCont.className = "header-cont";
headerCont.id = "header_container";
var header = document.createElement("div");
header.className = "header"
header.id = "header_1";
var timer = document.createElement("div");
timer.className = "timer";
timer.id = "timer_1";
timer.innerHTML = "Time Remaining: <span id='time'>00:10</span>";
headerCont.appendChild(header);
header.appendChild(timer);
document.body.insertBefore(headerCont,document.body.firstChild);
function startTimer(duration,display) {
var timer = duration,minutes,seconds;
var myTimer = setInterval(function() {
minutes = parseInt(timer / 60,10)
seconds = parseInt(timer % 60,10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
var text = ('innerText' in display)? 'innerText' : 'textContent';
display[text] = minutes + ":" + seconds;
if (--timer < 0) {
clearInterval(myTimer);
timeOver();
}
},1000);
}
var timerSeconds = 10,display = document.querySelector('#time');
startTimer(timerSeconds,display);
var timeOver = function() {
document.getElementById("timer_1").innerHTML = "Time is up.";
Qualtrics.SurveyEngine.setEmbeddedData("blockTimeFlag","1");
$('NextButton').click();
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)