求js计时器(一、页面刷新计时器不会重头开始,二、confirm之后计时器不会停止)

时间:2022-10-19 20:34:12
    我在在考试页面里做了一个计时器,但是一刷新页面,计时器就会来头开始。而且 运行confirm("你确定要交卷吗?")之后计时器就不动了,此时刷新页面也不会有问题。 哪位js高手帮我解决一下!

8 个解决方案

#1


我想、要想刷新不让其从头开始。。。我看这个不太好弄,至少我没有弄过。不过我感觉你可以这样。你可以用js屏蔽一下刷新的操作,或者。。。放在ifream中、不让其刷新到那段js、不知道好使不

#2


倒计时 你可以做到服务器端 这样 你在浏览器端刷新就没关系了

#3


放cookie。页面unload之前写入cookie。页面加载时读取cookie。如果读取失败,计时从0开始
至于confirm我不明白你的意思 。

#4


安全系数不高的话,记录到cookie
安全系数高的话,在server端搞数据库保存计时信息(或者在server端的session管理中开启计时线程。第一种容易些)

#5


引用 3 楼 lisatisfy 的回复:
放cookie。页面unload之前写入cookie。页面加载时读取cookie。如果读取失败,计时从0开始
至于confirm我不明白你的意思 。


这样就好了,最好在服务器端也做一个计时器,可以放在session里,这样为了安全。

求js计时器(一、页面刷新计时器不会重头开始,二、confirm之后计时器不会停止)Csdn好帮手——《Csdn收音机》即使监视社区动态!

#6


谢谢大家 但是confirm的问题还没有解决。

<script type="text/javascript">
        function stop() {
if(confirm("你确定要交卷吗?")){
window.clearTimeout(j);
window.clearInterval(i);
document.forms["exam"].submit();
}else{
}
}
<script>
<input type="button" value="交卷" onclick="stop()"/>

我的意思是 当弹出confirm这个对话框时,页面里面的计时器就停止了,怎么能让计时器不停止?

#7


那就不要window.clearInterval(i); 这句呗

#8


引用 6 楼 szxhfgszxhfg 的回复:
谢谢大家   但是confirm的问题还没有解决。[code=JScript]
<script   type= "text/javascript ">
                function   stop()   {
if(confirm( "你确定要交卷吗? ")){
window.clearTimeout(j);
window.clearInterval(i);
docu……


confirm这个函数和alert一样,很特别,跳出来的时候页面上所有执行脚本都会停止。

我想到的解决办法:

1:使用自己制作的"confirm",也就是自己实习一个类似的功能。

2:在confirm前一句话,记录一下当前时间,
然后在confirm结束后,用(现在的当前时间-记录的当前时间)获取到时间差。
这样时间差就是confirm运行了多少秒的,把这个时间差算进计时器里面。

求js计时器(一、页面刷新计时器不会重头开始,二、confirm之后计时器不会停止)《Csdn收音机》,让哥不只是传说!

#1


我想、要想刷新不让其从头开始。。。我看这个不太好弄,至少我没有弄过。不过我感觉你可以这样。你可以用js屏蔽一下刷新的操作,或者。。。放在ifream中、不让其刷新到那段js、不知道好使不

#2


倒计时 你可以做到服务器端 这样 你在浏览器端刷新就没关系了

#3


放cookie。页面unload之前写入cookie。页面加载时读取cookie。如果读取失败,计时从0开始
至于confirm我不明白你的意思 。

#4


安全系数不高的话,记录到cookie
安全系数高的话,在server端搞数据库保存计时信息(或者在server端的session管理中开启计时线程。第一种容易些)

#5


引用 3 楼 lisatisfy 的回复:
放cookie。页面unload之前写入cookie。页面加载时读取cookie。如果读取失败,计时从0开始
至于confirm我不明白你的意思 。


这样就好了,最好在服务器端也做一个计时器,可以放在session里,这样为了安全。

求js计时器(一、页面刷新计时器不会重头开始,二、confirm之后计时器不会停止)Csdn好帮手——《Csdn收音机》即使监视社区动态!

#6


谢谢大家 但是confirm的问题还没有解决。

<script type="text/javascript">
        function stop() {
if(confirm("你确定要交卷吗?")){
window.clearTimeout(j);
window.clearInterval(i);
document.forms["exam"].submit();
}else{
}
}
<script>
<input type="button" value="交卷" onclick="stop()"/>

我的意思是 当弹出confirm这个对话框时,页面里面的计时器就停止了,怎么能让计时器不停止?

#7


那就不要window.clearInterval(i); 这句呗

#8


引用 6 楼 szxhfgszxhfg 的回复:
谢谢大家   但是confirm的问题还没有解决。[code=JScript]
<script   type= "text/javascript ">
                function   stop()   {
if(confirm( "你确定要交卷吗? ")){
window.clearTimeout(j);
window.clearInterval(i);
docu……


confirm这个函数和alert一样,很特别,跳出来的时候页面上所有执行脚本都会停止。

我想到的解决办法:

1:使用自己制作的"confirm",也就是自己实习一个类似的功能。

2:在confirm前一句话,记录一下当前时间,
然后在confirm结束后,用(现在的当前时间-记录的当前时间)获取到时间差。
这样时间差就是confirm运行了多少秒的,把这个时间差算进计时器里面。

求js计时器(一、页面刷新计时器不会重头开始,二、confirm之后计时器不会停止)《Csdn收音机》,让哥不只是传说!