求助!定时器关不了。js代码贴上
发布网友
发布时间:2022-04-23 13:19
我来回答
共3个回答
热心网友
时间:2022-04-27 06:51
mounted(){
var timerID;
var timer = function(){
timerID=setInterval(()=>{
imgList.style.transition = '1s'
spanPoint.children[index].style.background = ''
imgList.style.left = ((parseInt(imgList.style.left)/-550)+1) * -550 +'px'
index++
if(index>5){
index = 0
}
index = index%5
spanPoint.children[index].style.background = 'red'
if(imgList.style.left == '-3300px'){
imgList.style.left = '-3300px'
setTimeout(()=>{
imgList.style.left = '-550px'
imgList.style.transition = ''
},1000)
}
},4000)
}
timer()
icon.addEventListener('mouseenter',()=>{
console.log('0')
clearInterval(timerID)
})
}
你这里属于概念理解错误,setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。setInterval() 方法返回一个 ID(数字),可以将这个ID传递给clearInterval(),clearTimeout() 以取消执行。而不是将你定义的timer函数传递给clearInterval()来取消计时器。
热心网友
时间:2022-04-27 08:09
你搞错了,var val = setInterval(); clearInterval(val);这样才能清除定时器。
热心网友
时间:2022-04-27 09:43
关不了是不是太快了,截图。?还是写错了