使用jQuery创建人性化的返回顶部链接
?
1
<
body
?id
=
"top"
>
2
<
p
?id
=
"back-to-top"
><
a
?href
=
"#top"
><
span
></
span
>返回顶部</
a
></
p
>
3
</
body
>
有了上面的html后,当我们点击”返回顶部”这个链接时,就会自动跳转到body标签的位置,也就是页面的顶部。
之所以在上面html代码的<a>标签中添加一个空的<span>标签,目的是为了创建我们预想的返回顶部链接样式,如下图:
接下来我们需要使用position : fixed;属性将跳转链接固定到页面上,这样它就可以随时停留在视线范围内。以下是全部CSS代码:
01
p
#bac
k-to-
top
{
02
??????
position
:
fixed
;
03
??????
bottom
:
100px
;
04
??????
left
:
80px
;
05
}
06
p
#bac
k-to-
top
?a{
07
??????
text-align
:
center
;
08
??????
text-decoration
:
none
;
09
??????
color
:
#d1d1d1
;
10
??????
display
:
block
;
11
??????
width
:
80px
;
12
13
??????
/*使用CSS3中的transition属性给跳转链接中的文字添加渐变效果*/
14
15
??????
-moz-transition:color?
1
s;
16
??????
-webkit-transition:color?
1
s;
17
??????
-o-transition:color?
1
s;
18
}
19
p
#bac
k-to-
top
?a:hover{
20
??????
color
:
#979797
;
21
}
22
p
#bac
k-to-
top
?a span{
23
??????
background
:
#d1d1d1
?url
(images/arrow-up.png)?
no-repeat
?center
center
;
24
??????
border-radius:
6px
;
25
??????
display
:
block
;
26
??????
height
:
80px
;
27
??????
width
:
80px
;
28
??????
margin-bottom
:
5px
;
29
30
??????
/*使用CSS3中的transition属性给<span>标签背景颜色添加渐变效果*/
31
32
??????
-moz-transition:background?
1
s;
33
??????
-webkit-transition:background?
1
s;
34
??????
-o-transition:background?
1
s;
35
}
36
#bac
k-to-
top
?a:hover span{
37
??????
background
:
#979797
?url
(images/arrow-up.png)?
no-repeat
?center
center
;
38
}
使用jQuery要实现的效果是:当页面初次载入,浏览器滚动条处于最顶部的时候,跳转链接处于隐藏状态。当滚动条向下滚动后,跳转链接逐渐显出,当点击跳转链接后,页面逐渐滚动至顶部,跳转链接逐渐消失。以下是jQuery代码:
01
<script type=
"text/javascript"
src=
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"
>
02
<script type=
"text/javascript"
>
03
$(document).ready(
function
(){
04
05
//首先将#back-to-top隐藏
06
07
?
$(
"#back-to-top"
).hide();
08
09
//当滚动条的位置处于距顶部100像素以下时,跳转链接出现,否则消失
10
11
$(
function
?() {
12
$(window).scroll(
function
(){
13
if
?($(window).scrollTop()>100){
14
$(
"#back-to-top"
).fadeIn(1500);
15
}
16
else
17
{
18
$(
"#back-to-top"
).fadeOut(1500);
19
}
20
});
21
22
//当点击跳转链接后,回到页面顶部位置
23
24
$(
"#back-to-top"
).click(
function
(){
25
$(
'body,html'
).animate({scrollTop:0},1000);
26
return
?false;
27
});
28
});
29
});
30
</script>
这里我们给body标签添加了id=”#top”,目的是当浏览器不支持javascript的时候,也可实现返回顶部的效果。实际上jQuery可以让滚动条定位于任何位置,所以这里我们保留了对浏览器的兼容性。
本文地址:http://startwmlife.com/using-jquery-to-create-humane-back-to-top-links/