我已经将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/

10-10 07:19