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