From 4ac83940989e02692303c10a8a011c7e5a6d9a08 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Mon, 6 Dec 2021 11:31:20 +0700 Subject: [PATCH] improve lyrics scrolling --- resources/cider-ui-tests/index.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/resources/cider-ui-tests/index.js b/resources/cider-ui-tests/index.js index 0379c048..4908089f 100644 --- a/resources/cider-ui-tests/index.js +++ b/resources/cider-ui-tests/index.js @@ -160,6 +160,12 @@ const app = new Vue({ self.playerLCD.playbackDuration = (self.mk.currentPlaybackTime) self.lyriccurrenttime = app.mk.currentPlaybackTime; + if (document.querySelector(".lyric-line.active")) { + document.querySelector(".lyric-line.active").scrollIntoView({ + behavior: "smooth", + block: "center" + }) + } // animated dot like AM - bad perf if (self.lyricon && self.drawertest){ let currentLine = document.querySelector(`.lyric-line.active`) @@ -602,15 +608,8 @@ const app = new Vue({ }, getLyricClass(start, end) { //this.lyriccurrenttime = app.getCurrentTime(); - if (this.lyriccurrenttime >= start && this.lyriccurrenttime <= end) { - setTimeout(() => { - if (document.querySelector(".lyric-line.active")) { - document.querySelector(".lyric-line.active").scrollIntoView({ - behavior: "smooth", - block: "center" - }) - } - }, 200) + const delayfix = 0.5 + if (this.lyriccurrenttime + delayfix >= start && this.lyriccurrenttime + delayfix <= end) { return true; } else { return false;