这里我正在开发一个测验门户网站。 问题以模块的形式设置,即模块包含5个问题,前4个是文本类型,第5个是图像类型。
当用户使用register.php注册时,他将从他登录的位置进入index.php。
登录后,他会看到一个开始按钮。按下开始按钮时,调用qstartfunc(),使用xmlHTTPrequest打开qstart.php文件,该文件作为响应以html格式返回一个问题。
响应如下
Response=<script>
setTimeout(qtime,30);
</script>
<div>
<form name='question' action='#'>
<p>Question #8: Since independence, both development and non-development expenditures have increased; the increase in the former being a little more than in the other. Non-development expenditure involves<br />
I. interest payments<br />
II. subsidies<br />
III. defence<br />
IV. irrigation
?
</p>
<input id='a' type='radio' name='ansa' value='optiona' /> I, II<br />
<input id='b' type='radio' name='ansa' value='optionb' /> I<br />
<input id='c' type='radio' name='ansa' value='optionc' /> I, II, III<br />
<input id='d' type='radio' name='ansa' value='optiond' /> II, III, IV<br />
<button onclick='qreturnfunc();return false;'>Submit</button>
</form>
</div>"
现在你看到我在setTimeout方法中调用了qtime()函数,在这种情况下使用了一些时间.30。qtime()方法调用qreturnfunc(),它以不同的问题回复,但响应格式相同。
但是setTimeout方法不起作用。这段代码打算用这个时间来限制用户,否则它会自动提交。
除了setTimeout方法之外,其他所有工作都正常。
所以,如果你们发现任何错误,请帮助我。任何批评甚至受到欢迎......
提前致谢。
完整包的链接是
https://drive.google.com/file/d/0B6KPYbSD1sxDU0k0QkU2YWVISWc/edit?usp=sharing
答案 0 :(得分:0)
你实际上并没有说过发生了什么。
我的猜测是你的计时器正在快速运行,因为JS中的计时器以毫秒为单位递增。所以Javascript中的30秒是30,000毫秒。
编辑:你在做什么调试?函数被调用了吗?你在检查错误吗?听起来你不知道你的代码是什么或者没有做什么,这可以通过简单地添加日志记录并查看你的代码得到多少来获得。
答案 1 :(得分:0)
你应该用这个:
<script>
$.ready(function(){
setTimeout(qtime,30);
});
</script>
或
<script>
window.load = function(){
setTimeout(qtime,30);
};
</script>
除非您无法确定脚本执行的时间。