问题描述
我正为一个非常紧迫的问题而苦苦挣扎。简而言之:我在Qualtrics中的一个包含分页符的块中设置了一个计时器。我希望在该代码块的最后一页上隐藏下一个按钮,直到计时器用完为止。
这是我的计时器的代码:
Qualtrics.SurveyEngine.addOnload(function()
{
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'>05:00</span>";
var timeisup = Qualtrics.SurveyEngine.getEmbeddedData("timeisup")
Qualtrics.SurveyEngine.setEmbeddedData('timeisup',0);
header.appendChild(timer);
document.body.insertBefore(header,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();
Qualtrics.SurveyEngine.setEmbeddedData('timeisup',1);
}
},1000);
}
var timerSeconds = 10,// This needs to be 1 second shorter than the total time,as it seems to increment 1 late
display = document.querySelector('#time');
startTimer(timerSeconds,display);
var timeOver = function() {
document.getElementById("timer_1").innerHTML = "Time is up.";
x = 1;
Qualtrics.SurveyEngine.setEmbeddedData('timeUp',1);
Qualtrics.SurveyEngine.setEmbeddedData('timeisup',1);
}
Qualtrics.SurveyEngine.addOnPageSubmit(function() {
Qualtrics.SurveyEngine.setEmbeddedData('timeRemaining',timer);
clearInterval(myTimer);
});
});
Qualtrics.SurveyEngine.addOnReady(function()
{
//$('PrevIoUsButton').hide();
$('PrevIoUsButton').disable();
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
});
Qualtrics.SurveyEngine.addOnReady(function() {
var interval1 = setInterval(function() {
getEmbeddedData('timeisup')
},100);
var interval2 = setInterval(function()
{
if("${e://Field/timeisup}" != "1") {jQuery("#NextButton").hide()}
},10);
});
Qualtrics.SurveyEngine.addOnUnload(function() {
clearInterval(interval1);
clearInterval(interval2);
});
我面临的问题是间隔似乎不起作用。在最后一页上并且计时器仍在运行时,变量“ timeisup”无法正确刷新,因此按钮不会消失。
我将非常感谢您的帮助!
最佳 珍妮佛
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)