Skip to content

Commit

Permalink
修复潜在歌词滚动问题
Browse files Browse the repository at this point in the history
  • Loading branch information
lyswhut committed Dec 25, 2021
1 parent b867167 commit 78cf146
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
8 changes: 7 additions & 1 deletion src/renderer-lyric/components/core/Lyric.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down Expand Up @@ -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)
},
Expand Down Expand Up @@ -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
Expand Down
8 changes: 7 additions & 1 deletion src/renderer/utils/compositions/useLyric.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
}
Expand Down

0 comments on commit 78cf146

Please sign in to comment.