修复潜在歌词滚动问题

pull/733/head
lyswhut 2021-12-25 15:42:32 +08:00
parent b867167b78
commit 78cf146a92
2 changed files with 14 additions and 2 deletions

View File

@ -14,6 +14,7 @@ import { scrollTo } from '@renderer/utils'
import Lyric from '@renderer/utils/lyric-font-player'
let cancelScrollFn = null
let delayScrollTimeout
export default {
props: {
@ -126,7 +127,8 @@ export default {
if (n < 0) return
if (n == 0 && this.isSetedLines) return this.isSetedLines = false
if (o == null || n - o != 1) return this.handleScrollLrc()
setTimeout(() => {
delayScrollTimeout = setTimeout(() => {
delayScrollTimeout = null
this.handleScrollLrc(600)
}, 600)
},
@ -251,6 +253,10 @@ export default {
this.lyricEvent.msDownY = y
this.lyricEvent.msDownScrollY = this.$refs.dom_lyric.scrollTop
} else {
if (delayScrollTimeout) {
clearTimeout(delayScrollTimeout)
delayScrollTimeout = null
}
this.winEvent.isMsDown = true
this.winEvent.msDownX = x
this.winEvent.msDownY = y

View File

@ -40,6 +40,10 @@ export default ({ isPlay, lyric }) => {
}
const handleLyricMouseDown = event => {
// console.log(event)
if (delayScrollTimeout) {
clearTimeout(delayScrollTimeout)
delayScrollTimeout = null
}
isMsDown.value = true
msDownY = event.clientY
msDownScrollY = dom_lyric.value.scrollTop
@ -103,12 +107,14 @@ export default ({ isPlay, lyric }) => {
}
}
let delayScrollTimeout
const scrollLine = (line, oldLine) => {
if (line < 0) return
if (line == 0 && isSetedLines) return isSetedLines = false
if (oldLine == null || line - oldLine != 1) return handleScrollLrc()
setTimeout(() => {
delayScrollTimeout = setTimeout(() => {
delayScrollTimeout = null
handleScrollLrc(600)
}, 600)
}