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

JavaScript027

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、定时器通常时隔段时间执行一次代码,时间可长可短,最短应该是1毫秒。

2、做一个全局变量,在定时器代码里增加个条件判断,只有全局变量为真才执行,否则不执行。

3、点击按钮时,将全局变量赋值为假,这样,定时器代码就不会再次执行了。

4、希望对你有帮助。