Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一页后有两个计时器“;刷新“;_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 一页后有两个计时器“;刷新“;

Javascript 一页后有两个计时器“;刷新“;,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,使用setInterval执行一些操作。在提交表单(jquerymobile)之后,页面被刷新,这会产生一个坏的副作用,即现在有两个计时器处于活动状态。为什么提交后第一个计时器未结束和/或如何防止启动第二个计时器?提前感谢您的帮助。可能是因为表单是用ajax提交的,而setInterval javascript会以某种方式重新执行 试用 window.timer = window.timer || setInterval(....); setInterval返回一个整数(比如计时器的“id”)

使用setInterval执行一些操作。在提交表单(jquerymobile)之后,页面被刷新,这会产生一个坏的副作用,即现在有两个计时器处于活动状态。为什么提交后第一个计时器未结束和/或如何防止启动第二个计时器?提前感谢您的帮助。

可能是因为表单是用ajax提交的,而setInterval javascript会以某种方式重新执行

试用

window.timer = window.timer || setInterval(....);

setInterval返回一个整数(比如计时器的“id”)。
知道了这一点,您可以通过存储此id轻松地执行以下操作:
-在启动第二个计时器(函数stopInterval(id))

-防止它再次启动

编写代码可能有助于人们回答您的问题。这只是对以后文章的一个建议。无论何时在SO上发布任何问题,请同时发布HTML标记和您尝试过的代码。这将帮助我们提供更好的答案!请添加您的JQM代码,我们的答案更可能是猜测。无论如何,请尝试
pageinit
触发计时器,并尝试“pageshow”终止计时器,因为
pageinit
触发一次。