我正在开发一个基于网络的应用程序,即LMS Learning Management System
。在这个应用程序中,学生可以阅读章节并对这些章节进行测试。并且为了阅读章节,特定时间被分配给用户capturing using the timer tick
。在阅读本章时,captcha
(即在aspx页面中开发)在每12 minutes
之后出现。现在我希望当阅读时,timer should get paused
在访问窗口时,当用户提交验证码计时器时,从它离开上一个标记的位置获取resumed
。为此,我尝试了使用javascript的解决方案,但它没有工作。
这是我尝试过的编码器
<script type="text/javascript">
function startTimer() {
var timer = $find("<%=Timer1.ClientID%>")
timer._startTimer();
}
function stopTimer() {
var timer = $find("<%=Timer1.ClientID%>")
timer._stopTimer();
}
function showCaptchaOnChapter() {
//stopTimer();
ShowNewPage();
setTimeout('showCaptchaOnChapter()', 120000);
stopTimer();
}
function showRandomQuestionOnChapter() {
ShowChapterQuestion();
setTimeout('showRandomQuestionOnChapter()', 900000);
}
//setTimeout('showCaptchaOnChapter()', 360000);
//setTimeout('showRandomQuestionOnChapter()', 120000);
</script>
ShowNewPage()
function ShowNewPage() {
var callbackFunctionArray = new Array(CloseCaptchaPopUp);
modalWin.ShowURL('Captcha.aspx', 225, 290, 'Please enter characters dislayed in image to proceed', null, callbackFunctionArray);
}
在这个脚本中,我将Captcha到达时间设置为2分钟,这样我可以更快地测试。 Captcha以规则的间隔出现,即2分钟,但计时器不会停止。 我怎么能这样做?
答案 0 :(得分:0)
超时后显示验证码并启动其他超时。
function showQuestion() {
updateTimer();
getQuestion();
setTimeout(showCaptcha, time);
}
function showCaptcha() {
getCaptcha();
//some listener for submitting of captcha eg:submitCaptcha
}
function submitCaptcha() {
if captcha===correct
showQuestion();
}