视频卡顿这里的代码无法理解
如果一直卡顿的话就不会触发timeupdate事件,那么怎么去触发里面所设定好的定时器呢?
为什么要把清除定时器写到定时器前面?
当timeupdate事件被触发时,先执行清除定时器操作,那么下面的定时器是否会继续工作?
正在回答
因为在视频播放的时候 , 时间是一直是更新的 , 所以这个事件也是不断的被触发 . 当视频卡顿的时候 , 由于视频卡顿的前一刻也是在触发timeupdate事件 . 那么定时器的代码就会被执行 , 当你视频在500ms后还是没有触发timeupdate事件 , 那么loading就会显示出来了 .
但是如果卡顿没有到500ms . 就会触发timeupdate事件 , 那么上一次的定时器就会被清除 , 不过会再一次执行新的定时器 , 当timeupdate事件 不断触发的时候 , 每个事件清除的都是上一次事件中的定时器 .
因为定时器是500ms以后执行 , 卡顿的时候 ,实际上定时器执行的是在卡顿之前的定时器 .
清除定时器就是要放在定时器外部 , 因为它清除的是上一次timeupdate事件的定时器
当timeupdate事件被触发时,先执行清除定时器操作,下面的定时器是继续工作的 . 这个定时器会被下一次的timeupdate事件清除 .
这一块不是很好理解 , 建议同学能够多复习一下视频 ,并且跟着练习一下 . 能帮助自己去巩固理解 . 加油
祝学习愉快 ,望采纳 .
- 参与学习 人
- 提交作业 2198 份
- 解答问题 5012 个
如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星