js延时器里面写的定时器之后定时器无法清除了。
网上搜了很多资料都无法解决。包括加个Window还有在data里面定义定时器的名字。都不行。
是不是不能一起使用呢?
我在清除前后打印了那个定时器的编号。如果清除成功了。为什么前后的值是一样的?而且下一次还是按顺序排号的?
如图:
js延时器里面写的定时器之后定时器无法清除了。
网上搜了很多资料都无法解决。包括加个Window还有在data里面定义定时器的名字。都不行。
是不是不能一起使用呢?
我在清除前后打印了那个定时器的编号。如果清除成功了。为什么前后的值是一样的?而且下一次还是按顺序排号的?
如图:
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
在你的代码里,setTimeout中的代码并没有运行,运行的是setInterval中的代码,这个你没有清除,所以在不断运行。
无论是setTimeout还是setInterval都会返回一个数字,根据这个数字我们可以清除定时器,你这里也确实清楚了,但是你把这个数字赋值给变量后,变量本身和定时器本身是没有关系的,只是变量的值和定时器的id一样,我们可以根据这个变量清除定时器,你可以把变量当做一个工具,在清除定时器后也青空下变量的值