原来的代码,想改写进vue的项目里html部分就直接放template里js部分有些var变量写到data里了,用了vue自己$refs定位放在updated钩子里启动,因为放其他钩子会捕捉不到(放mounted里也没用)但是广告没有动起来,请问应该要怎么写?PS:其实不用这里的代码也行,就是想写个漂浮广告
2 回答
慕森卡
TA贡献1806条经验 获得超8个赞
应该是setInterval(this.float(), 10)这里错了,这里不需要括号,加了括号只会执行一次。而且你的代码没必要这样写,adFloat方法是没有必要写的,直接写在mounted()中就行了。定时器可以在data中定义一下。
data () {
return {
timer: null
}
}
mounted () {
this.$nextTick(function () {
const self = this
this.timer = setInterval(this.float, 10)
this.$refs[].onmouseover = function () {
clearInterval(self.timer)
}
this.$refs[].onmouseout = function () {
self.timer = setInterval(self.float, 10)
}
})
}
添加回答
举报
0/150
提交
取消