Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
7ce70dd5
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7ce70dd5
编写于
9月 14, 2017
作者:
P
Phil Hughes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Dynamically create offset for sticky bar
上级
41068df7
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
27 addition
and
12 deletion
+27
-12
app/assets/javascripts/lib/utils/sticky.js
app/assets/javascripts/lib/utils/sticky.js
+25
-5
app/assets/stylesheets/pages/diff.scss
app/assets/stylesheets/pages/diff.scss
+2
-7
未找到文件。
app/assets/javascripts/lib/utils/sticky.js
浏览文件 @
7ce70dd5
export
const
isSticky
=
(
el
,
scrollY
,
stickyTop
)
=>
{
export
const
createPlaceholder
=
()
=>
{
const
placeholder
=
document
.
createElement
(
'
div
'
);
placeholder
.
classList
.
add
(
'
sticky-placeholder
'
);
return
placeholder
;
};
export
const
isSticky
=
(
el
,
scrollY
,
stickyTop
,
insertPlaceholder
)
=>
{
const
top
=
Math
.
floor
(
el
.
offsetTop
-
scrollY
);
if
(
top
<=
stickyTop
)
{
if
(
top
<=
stickyTop
&&
!
el
.
classList
.
contains
(
'
is-stuck
'
))
{
const
placeholder
=
insertPlaceholder
?
createPlaceholder
(
el
)
:
null
;
const
heightBefore
=
el
.
offsetHeight
;
el
.
classList
.
add
(
'
is-stuck
'
);
}
else
{
if
(
insertPlaceholder
)
{
el
.
parentNode
.
insertBefore
(
placeholder
,
el
.
nextElementSibling
);
placeholder
.
style
.
height
=
`
${
heightBefore
-
el
.
offsetHeight
}
px`
;
}
}
else
if
(
top
>
stickyTop
&&
el
.
classList
.
contains
(
'
is-stuck
'
))
{
el
.
classList
.
remove
(
'
is-stuck
'
);
if
(
insertPlaceholder
&&
el
.
nextElementSibling
.
classList
.
contains
(
'
sticky-placeholder
'
))
{
el
.
nextElementSibling
.
remove
();
}
}
};
export
default
(
el
)
=>
{
export
default
(
el
,
insertPlaceholder
=
true
)
=>
{
if
(
!
el
)
return
;
const
computedStyle
=
window
.
getComputedStyle
(
el
);
...
...
@@ -17,7 +37,7 @@ export default (el) => {
const
stickyTop
=
parseInt
(
computedStyle
.
top
,
10
);
document
.
addEventListener
(
'
scroll
'
,
()
=>
isSticky
(
el
,
window
.
scrollY
,
stickyTop
),
{
document
.
addEventListener
(
'
scroll
'
,
()
=>
isSticky
(
el
,
window
.
scrollY
,
stickyTop
,
insertPlaceholder
),
{
passive
:
true
,
});
};
app/assets/stylesheets/pages/diff.scss
浏览文件 @
7ce70dd5
...
...
@@ -451,7 +451,7 @@
}
.files
{
margin-top
:
-
1px
;
margin-top
:
1px
;
.diff-file
:last-child
{
margin-bottom
:
0
;
...
...
@@ -586,11 +586,6 @@
top
:
76px
;
}
+
.files
,
+
.alert
{
margin-top
:
1px
;
}
&
:not
(
.is-stuck
)
.diff-stats-additions-deletions-collapsed
{
display
:
none
;
}
...
...
@@ -608,7 +603,7 @@
+
.files
,
+
.alert
{
margin-top
:
32px
;
//
margin-top: 32px;
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录