diff --git a/src/js/controls.js b/src/js/controls.js index 2d0dda9a4..8270e1b05 100644 --- a/src/js/controls.js +++ b/src/js/controls.js @@ -712,7 +712,8 @@ const controls = { const clientRect = this.elements.progress.getBoundingClientRect(); if (is.event(event)) { - percent = (100 / clientRect.width) * (event.pageX - clientRect.left); + const scrollLeft = event.pageX - event.clientX; + percent = (100 / clientRect.width) * (event.pageX - clientRect.left - scrollLeft); } else if (hasClass(tipElement, visible)) { percent = parseFloat(tipElement.style.left, 10); } else { diff --git a/src/js/listeners.js b/src/js/listeners.js index 13dd42a22..e615e8ddc 100644 --- a/src/js/listeners.js +++ b/src/js/listeners.js @@ -641,7 +641,8 @@ class Listeners { // Set range input alternative "value", which matches the tooltip time (#954) this.bind(elements.inputs.seek, 'mousedown mousemove', (event) => { const rect = elements.progress.getBoundingClientRect(); - const percent = (100 / rect.width) * (event.pageX - rect.left); + const scrollLeft = event.pageX - event.clientX; + const percent = (100 / rect.width) * (event.pageX - rect.left - scrollLeft); event.currentTarget.setAttribute('seek-value', percent); });