微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Qualtrics条件隐藏下一个按钮

如何解决Qualtrics条件隐藏下一个按钮

我正为一个非常紧迫的问题而苦苦挣扎。简而言之:我在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 举报,一经查实,本站将立刻删除。