我已经将javascript音频播放器集成到网站中,并且没有问题。但是,由于我使用容器div(“最大宽度”)限制了网页的宽度,因此可点击的时间轴无法正常工作。
我认为我缩小了问题的范围。此代码计算时间线上的mouseclick:
function clickPercent(e) {
return (e.pageX - timeline.offsetLeft) / timelineWidth;
}
问题是pageX从浏览器的左边缘开始计数,而offsetLeft从父元素的边缘开始计数。因此,当我单击时间轴时,播放器点跳到错误的位置。
我做了一个JSfiddle演示:http://jsfiddle.net/2zkj25ss/35/
我想我需要一些与offsetLeft不同的东西,它可以给我绝对偏移而不是相对偏移。
谁能帮我这个?请记住,我不是程序员,我的JavaScript技能从差到不存在。
最佳答案
如果您不需要支持IE Benjamin's solution。
只需在函数中替换timeline.offsetLeft
即可:
function clickPercent(e) {
return (e.pageX - (timeline.getBoundingClientRect().left + window.pageXOffset)) / timelineWidth;
}
关于javascript - JS audioplayer上的可单击时间轴-需要offsetLeft的替代方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33770686/