perf(theme): improve scroll behavior (#253)
This commit is contained in:
parent
cd533d6f02
commit
6d918ca7b8
@ -4,11 +4,13 @@ import { inBrowser } from '../utils/index.js'
|
||||
import { useScrollPromise } from './scroll-promise.js'
|
||||
|
||||
export function enhanceScrollBehavior(router: Router) {
|
||||
// handle scrollBehavior with transition
|
||||
const scrollBehavior = router.options.scrollBehavior!
|
||||
router.options.scrollBehavior = async (...args) => {
|
||||
router.options.scrollBehavior = async (to, from, savedPosition) => {
|
||||
await useScrollPromise().wait()
|
||||
return scrollBehavior(...args)
|
||||
if (savedPosition)
|
||||
return savedPosition
|
||||
if (to.hash)
|
||||
return { el: to.hash, top: 64 }
|
||||
return { top: 0 }
|
||||
}
|
||||
|
||||
router.beforeEach(() => {
|
||||
|
||||
@ -47,8 +47,6 @@ export function getPlugins({
|
||||
activeHeaderLinksPlugin({
|
||||
headerLinkSelector: 'a.outline-link',
|
||||
headerAnchorSelector: '.header-anchor',
|
||||
delay: 200,
|
||||
offset: 5,
|
||||
}),
|
||||
markdownHintPlugin({ hint: true, alert: true, injectStyles: false }),
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user