视频中的计算 :进度条点击到最边缘会超出outerNode

视频中的计算 :进度条点击到最边缘会超出outerNode

http://img1.sycdn.imooc.com//climg/5c5012cc0001c20705110256.jpg

myAudio.currentTime = myAudio.duration * ((ev.clientX - (this.offsetLeft + outerNode.offsetLeft))/this.offsetWidth);


trueLine.style.width = ((ev.clientX - (this.offsetLeft + outerNode.offsetLeft))/this.offsetWidth) * 100 + '%';


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

进度条超出是因为在.trueLine的时候设置了border-right导致的,border-right+完成后设置的进度为100%会超出。

http://img1.sycdn.imooc.com//climg/5c5021c0000106ba07060309.jpg

解决办法是:在js中将进度设置成99%即可

http://img1.sycdn.imooc.com//climg/5c50221f0001f8f415650511.jpg

测试效果:

http://img1.sycdn.imooc.com//climg/5c50223b0001534a05380445.jpg

另外,trueLine.style.width的宽度必须设置,否则没办法控制进度条显示的长度。

希望可以帮到你!

  • 从前慢_5 提问者 #1
    99% 这个是怎么计算的,是不是不太严谨啊?
    2019-01-30 17:29:12
卡布琦诺 2019-01-30 19:15:14

如果同学想要计算的精准一些,可以采取以下方法:

http://img1.sycdn.imooc.com//climg/5c51873500015da913450277.jpg

希望可以帮到你!

提问者 从前慢_5 2019-01-29 16:54:50

而且不设置trueLine.style.width,再点击进度条时 ,进度条也会移动 ,这是什么原因,还有必要设置width吗?

音乐自己播放完,进度条也会超出progressNode

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师