【发布时间】:2011-03-31 15:43:46
【问题描述】:
我试图让我的脚本在继续之前等待用户输入(单击按钮),这在其他语言中是可行的,但在 js 中似乎是不可能的。基本上,我希望用户在给定的时间范围内选择一个选项,如果用户选择了错误的选项,他们会被告知..script 然后继续...否则,如果在一定时间后没有响应.. .script 只是继续再次播下正确的答案,但 js 中似乎没有任何内容可以让脚本等待该用户输入!我尝试了一个while循环,但这只是js中的一个很大的不,我使用了settimeout但没有真正的效果,因为脚本只是像正常一样继续然后在x时间后执行一个动作,我尝试设置变量并让脚本仅当它具有特定值时才继续,该值仅在用户单击时设置...例如 varproceed=false,仅在用户单击按钮时才设置为 true,但它仍然不起作用...我尝试了很多其他解决方案,但实际上似乎没有任何效果。我喜欢while循环的想法,因为它完全符合我的要求,但是如果完全冻结我的浏览器,是否有更有效的循环类型会以与我的浏览器崩溃相同的方式执行?
下面是我的代码,它完全冻结了我的计算机。这个方法在一个 for 循环中被调用,在它之后调用另一个方法。
function getUserResp(){
$("#countdown").countdown({seconds: 15});
setTimeout("proceed=true", 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);
});
想要这样的东西.....或者只是某种循环让脚本在继续之前等待,所以至少它给了用户一些时间来响应而不是直接运行!
do{
$(".ans").mouseover(function(){
$(this).addClass("hilite").fadeIn(800);
});
$(".ans").mouseout(function(){
$(this).removeClass("hilite");
});
}while(proceed==false);
}
【问题讨论】:
-
抱歉错字错误,强调并没有阅读。我正在寻找一个不会让我的浏览器崩溃的 while 循环或类似的东西
标签: javascript while-loop