Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
计算机应用开发
前端
Vuepress
提交
6081a3d7
V
Vuepress
项目概览
计算机应用开发
/
前端
/
Vuepress
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
Vuepress
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6081a3d7
编写于
4月 30, 2018
作者:
U
ULIVZ
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: unexpected scroll behavior after clicking sidebar links (#298)
上级
5023d195
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
3 deletion
+23
-3
lib/app/app.js
lib/app/app.js
+7
-1
lib/app/store.js
lib/app/store.js
+7
-0
lib/default-theme/Layout.vue
lib/default-theme/Layout.vue
+9
-2
未找到文件。
lib/app/app.js
浏览文件 @
6081a3d7
...
...
@@ -3,6 +3,7 @@ import Router from 'vue-router'
import
Content
from
'
./Content
'
import
ClientOnly
from
'
./ClientOnly
'
import
dataMixin
from
'
./dataMixin
'
import
store
from
'
./store
'
import
NotFound
from
'
@notFound
'
import
{
routes
}
from
'
@temp/routes
'
import
{
siteData
}
from
'
@temp/siteData
'
...
...
@@ -57,7 +58,12 @@ export function createApp () {
if
(
saved
)
{
return
saved
}
else
if
(
to
.
hash
)
{
return
false
if
(
store
.
disableScrollBehavior
)
{
return
false
}
return
{
selector
:
to
.
hash
}
}
else
{
return
{
x
:
0
,
y
:
0
}
}
...
...
lib/app/store.js
0 → 100644
浏览文件 @
6081a3d7
// It is not yet time to use Vuex to manage the global state
// singleton object as a global store.
const
state
=
{
disableScrollBehavior
:
false
}
export
default
state
lib/default-theme/Layout.vue
浏览文件 @
6081a3d7
...
...
@@ -28,6 +28,7 @@ import Navbar from './Navbar.vue'
import
Page
from
'
./Page.vue
'
import
Sidebar
from
'
./Sidebar.vue
'
import
{
pathToComponentName
}
from
'
@app/util
'
import
store
from
'
@app/store
'
import
{
resolveSidebarItems
}
from
'
./util
'
import
throttle
from
'
lodash.throttle
'
...
...
@@ -165,7 +166,7 @@ export default {
const
sidebarLinks
=
[].
slice
.
call
(
document
.
querySelectorAll
(
'
.sidebar-link
'
))
const
anchors
=
[].
slice
.
call
(
document
.
querySelectorAll
(
'
.header-anchor
'
))
.
filter
(
anchor
=>
sidebarLinks
.
some
(
sidebarLink
=>
sidebarLink
.
hash
===
anchor
.
hash
))
const
scrollTop
=
Math
.
max
(
window
.
pageYOffset
,
document
.
documentElement
.
scrollTop
,
document
.
body
.
scrollTop
)
for
(
let
i
=
0
;
i
<
anchors
.
length
;
i
++
)
{
...
...
@@ -177,7 +178,13 @@ export default {
(
!
nextAnchor
||
scrollTop
<
nextAnchor
.
parentElement
.
offsetTop
-
10
))
if
(
isActive
&&
this
.
$route
.
hash
!==
anchor
.
hash
)
{
this
.
$router
.
replace
(
anchor
.
hash
)
store
.
disableScrollBehavior
=
true
this
.
$router
.
replace
(
anchor
.
hash
,
()
=>
{
// execute after scrollBehavior handler.
this
.
$nextTick
(()
=>
{
store
.
disableScrollBehavior
=
false
})
})
return
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录