为了账号安全,请及时绑定邮箱和手机立即绑定

clearInterval为什么无效?

clearInterval为什么无效?

WE2008311 2017-09-06 19:30:31
play(state,event){   const playerBar=document.getElementById("playerBar");   const eve=event.target;   let duraTime=playerBar.duration;   let duraMinute=Math.floor(duraTime/60)+":"+(duraTime%60/100).toFixed(2).slice(-2);   let currentTime=playerBar.currentTime;   let currentMinute=Math.floor(currentTime/60)+":"+(currentTime%60/100).toFixed(2).slice(-2);   let ctime;   if(playerBar.paused){     playerBar.play();     eve.innerHTML="pause";     state.audio.duration=duraMinute;     state.audio.currentTime=currentMinute;     ctime=setInterval(       function(){         duraTime--;         currentTime++;         duraMinute=Math.floor(duraTime/60)+":"+(duraTime%60/100).toFixed(2).slice(-2);         currentMinute=Math.floor(currentTime/60)+":"+(currentTime%60/100).toFixed(2).slice(-2);         state.audio.duration=duraMinute;         state.audio.currentTime=currentMinute;      },1000     )   }else{     playerBar.pause();     eve.innerHTML="play_arrow";     clearInterval(ctime);   } }play()绑定的是一个播放器的开关,,点击一次时间会动,用的是定时器setInterval,再次点击清除计时器,时间暂停,用了clearInterval,但是目前clearInterval失效,不知道什么原因,拜托大神帮看看!!
查看完整描述

1 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

你每次执行函数就把ctime初始化了,你应该定义在外层

查看完整回答
反对 回复 2017-09-06
  • WE2008311
    WE2008311
    我明白了,我把它写在外层了,有问题再请教!
  • 1 回答
  • 0 关注
  • 2383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信