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

JavaScript019

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

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

你用的是什么计时器?

setTimeout("function",time) 还是 setInterval("function",time)

参数是一样的,function是方法名,time是执行间隔的毫秒数

这2个都是计时用的

SetInterval会重复执行,setTimeout不会重复只执行一次。

如果要停止需要执行clearTimeout(对象) 清除已设置的setTimeout对象,clearInterval(对象) 清除已设置的setInterval对象。

用法大概如下:

var objTimout=window.setTimeout(function,5000)//5000毫秒=5秒,5秒后执行function方法,然后退出

window.clearTimeout(objTimout)//清除setTimeout设置的时间

或者

var objInterval=window.setInterval(function,5000)//每5秒执行一次function方法

window.clearInterval(objInterval)//清除setInterval对象设置的时间

希望能帮到你!