jq刷新页面会定时器会清除么

JavaScript025

jq刷新页面会定时器会清除么,第1张

JS定时器有两种,分别是setTimeout和setInterval,区别是前者是一次执行,后者是循环执行,具体什么意思呢,直接看代码。

//指定时间为6000毫秒,即6s,到达6s后,执行一次,之后不再执行。

setTimeout(function(){

alert("执行一次定时器")

},6000)

//指定时间为6s,每过6s执行一次

setInterval(function(){

alert("循环执行定时器")

},6000)

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

要关闭定时器,首先我们要先获取到定时器,即如果页面中设置了多个定时器,我们需要知道要关闭那个定时器,直接看代码:

//定义一个变量获取到定时器

var timer = setInterval(function(){

alert("timer是一个数字,即代表了当前定时器")

},6000)

var timer2 = setTimeout(function(){

alert("第二个定时器")

},6000)

//调用方法,关闭指定的定时器

clearInterval(timer)

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

注:定时器启动后,刷新浏览器会清空定时器。有时我们在页面中定义了定时器,在关闭页面时,定时器并不会关闭,我们可以获取定时器,然后在页面的关闭事件中清除定时器。有时我们需要在其他页面对定时器进行关闭,这时可以在对应的页面定义变量,然后在定义定时器页面获取定时器,并赋值给指定页面的变量,这样就可以在指定页面对定时器进行关闭了,需要注意的是,如果我们定时器放到函数中时,在页面初始化时并不能获取到定时器,只有在调用了函数后才会获取到定时器,所以如果要在页面初始化时就获取定时器,不要将定时器放到函数中。这样在页面加载时可以直接加载定时器启动定时器,这样就能拿到定时器了。

可能原因:

1:你电脑上安装的杀毒软件:瑞星或毒霸导致此种情况。因为JS脚本在每次载入时都会被杀毒软件审查,国内杀毒软件一般都处理缓慢,想必你是手工频繁刷新(刷流量,提高ALEXA排名??),如此导致杀毒软件禁止JS的反应

2:你网站首页页面数据太多,而且都是远程调用其他站点数据(如视频),你频繁刷新造成了目标源网站的服务禁止。

解决:关闭杀毒软件、不要频繁刷新首页,换一台其他的电脑试试是不是也一样?如果问题依旧,则可能你网站程式CMS中有对刷新频率做约束的(ASP代码的CMS一般都有该项目设定)

祝你好运