美文网首页
vue中定时器的开启及关闭

vue中定时器的开启及关闭

作者: Bior | 来源:发表于2020-04-20 21:54 被阅读0次

今天在写一个滚动图片的功能,功能是这样的,页面加载后直接开始滚动,鼠标悬停停止滚动,鼠标离开再开始滚动。

原理很简单,就是弄个定时器让元素.scrollLeft不断增加,鼠标移入时清除定时器,鼠标移除恢复定时器。

但是在vue中就出现了一个小问题,在组件上使用@mouseenter="startRoll",@mouseLeave="stopRoll"

然后在methods中写好这两个function

页面mounted后starRoll

那么这个小问题来了,定时器写在哪呢?startRoll里的定时器在stopRoll中并无法停止。

解决方法:

将定时器声明在data内:

先在data内设置一个 timer:null;

在startRoll中: this.timer=setInterval(function(){},20)

在stopRoll中: clearInterval(this.timer);

问题解决!

有点啰嗦,请指教

相关文章

网友评论

      本文标题:vue中定时器的开启及关闭

      本文链接:https://www.haomeiwen.com/subject/cfysihtx.html