要实现该效果,首先要先了解以下几点基础知识:
窗体滚动事件:$(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");即可