要实现该效果,首先要先了解以下几点基础知识:
窗体滚动事件:$(window).scroll(function(){...});
获取窗体滚动距离:$(window).scrollTop();
获取窗体高度:$(window).height();
了解以上内容就可以实现通过hyperlink控件实现返回顶部的效果了。
1.准备界面结构代码:
1
<
form
id
="form1"
runat
="server"
>
2
<
div
>
3
<
asp:HyperLink
ID
="Top"
runat
="server"
></
asp:HyperLink
>
4
<
h1
style
="text-align: center"
>
5
利用jQuery实现返回顶部效果
</
h1
>
6
<
div
style
="width: 800px; border: 1px; text-align: left; margin-left: 230px;"
>
7
。。。。。。(很多内容,可以滚动)
8
</
div
>
9
<
asp:HyperLink
ID
="backToTopLink"
runat
="server"
CssClass
="backToTop"
>
回顶部
</
asp:HyperLink
>
10
</
div
>
11
</
form
>
2.给回顶部控件添加样式:
1
<
style
type
="text/css"
>
2
.backToTop
3
{
4
background-color
:
Yellow
;
5
width
:
30px
;
6
border-style
:
outset
;
7
border-width
:
1px
;
8
text-align
:
center
;
9
font-weight
:
bold
;
10
font-family
:
Arial
;
11
font-size
:
x-large
;
12
cursor
:
pointer
;
13
position
:
absolute
;
// 注意要设置为绝对位置
14
right
:
100px
;
15
}
16
</
style
>
3.添加实现置顶效果脚本代码:
1
<
script
type
="text/javascript"
>
2
$(document).ready(
function
() {
3
$(
"
#backToTopLink
"
).attr(
"
title
"
,
"
回顶部
"
);
4
$(
"
#backToTopLink
"
).attr(
"
href
"
,
"
#Top
"
); // 通过链接实现置顶
5
$(window).scroll(
function
() {
6
if
($(window).scrollTop()
<=
100
) {
7
$(
"
#backToTopLink
"
).fadeOut(
200
);
8
}
9
else
{
10
$(
"
#backToTopLink
"
).fadeIn(
400
);
11
}
12
var
v_Top
=
$(window).height()
-
$(
"
.backToTop
"
).height()
-
10
+
$(window).scrollTop(); // 动态计算滚动后置顶按钮top位置
13
$(
"
.backToTop
"
).css(
"
top
"
, v_Top
+
"
px
"
);
14
});
15
});
16
</
script
>
注意,本代码只是为了演示hyperlink控件来实现返回顶部的效果。还可以通过jQuery的动画效果,实现平滑置顶。
平滑过渡返回顶部代码如下:
$('#backToTopLink').click(function(){$('html,body').animate({scrollTop: '0px'}, 800);}); // 替换$("#backToTopLink").attr("href", "#Top");即可

