【问题标题】:jquery, wait for user inputjquery,等待用户输入
【发布时间】:2010-08-18 17:10:45
【问题描述】:

我基本上在 jquery 中寻找一种方法,我的脚本将等待 15 秒左右,并在用户尚未选择答案时显示正确的答案。目前它似乎直接贯穿。 ps 此方法在 for 循环中调用,与其他方法/函数一起调用,因此它直接通过遍历数组运行。 thr for 循环位于下方,尽管在实际脚本中出现得更靠前。要清楚,我正在寻找脚本的 wa,以检查用户是否在这 15 秒内单击了按钮。目前它甚至没有这样做。数组中大约有 10 个项目,但是一旦单击开始按钮开始测验,它会直接迭代到最后一个项目,因此用户甚至无法做出选择。 setTimeout 我认为我不适合这里...试过了,但有一个巨大的 poss 我可能是错的

function getUserResp(){
     $("#countdown").countdown({seconds: 15});

    setTimeout("dispAns()", 16000);

    $("#ans1").click(function(){
      ansStr=$(this).text();
      checkAns(ansStr);
      });    
    $("#ans2").click(function(){
      ansStr=$(this).text();
      checkAns(ansStr);
      });    
    $("#ans3").click(function(){
      ansStr=$(this).text();
      checkAns(ansStr);
      });

 $(".ans").mouseover(function(){
      $(this).addClass("hilite").fadeIn(800);
      });  

 $(".ans").mouseout(function(){
        $(this).removeClass("hilite");
        });

}

 $.each(qArr, function(i){
   getAns(i);
   getQuestion(i);
   presentData();
   getUserResp();
   displayAnsResp();
 });
 getTotalScore();
 });

【问题讨论】:

  • javascript, while loop 的可能重复项
  • Stack Overflow 不像论坛。请不要发布重复的问题。您可以随时对原始问题进行编辑或添加评论。

标签: jquery while-loop wait


【解决方案1】:

setTimeout 是要走的路。您可以使用 setTimeout 在 15 秒后调用该函数,然后该函数应检查是否按下了任何按钮。如果没有,它应该显示答案,,。您可以在单击任何按钮时将标志设置为 true,然后在 displayanswer 函数中检查该标志

【讨论】: