From 9ca1c1ebd4c3d587ce2db138dee8d3aaaf888923 Mon Sep 17 00:00:00 2001 From: DusuWen <> Date: Wed, 17 May 2023 17:43:19 +0800 Subject: [PATCH] Prevent the control bar from changing when a touchstart or mousedown event is emitted on it --- src/js/controller.js | 4 ++-- src/js/player.js | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 66cbedf..c2b668e 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -122,11 +122,11 @@ class Controller { percentage = Math.min(percentage, 1); this.player.bar.set('played', percentage, 'width'); this.player.seek(this.player.bar.get('played') * this.player.video.duration); - this.player.timer.enable('progress'); + this.player.moveBar = false; }; this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, () => { - this.player.timer.disable('progress'); + this.player.moveBar = true; document.addEventListener(utils.nameMap.dragMove, thumbMove); document.addEventListener(utils.nameMap.dragEnd, thumbUp); }); diff --git a/src/js/player.js b/src/js/player.js index 6343793..860ace4 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -182,6 +182,8 @@ class DPlayer { this.play(); } + this.moveBar = false; + index++; instances.push(this); } @@ -537,7 +539,9 @@ class DPlayer { }); this.on('timeupdate', () => { - this.bar.set('played', this.video.currentTime / this.video.duration, 'width'); + if (!this.moveBar) { + this.bar.set('played', this.video.currentTime / this.video.duration, 'width'); + } const currentTime = utils.secondToTime(this.video.currentTime); if (this.template.ptime.innerHTML !== currentTime) { this.template.ptime.innerHTML = currentTime;