CSS-返回顶部代码
现在的网站基本上都是长页面,多的有四五屏,少的话也有两三屏,页面太长有的时候为了提升用户体验,会在页面右边出现一个回到顶部的按钮,这样能快速回到顶部,以免在滑动页面出现视觉屏幕,回到顶部一般有四种方式。
1.通过锚链接回到顶部,需要将body加入一个名为top的标记:
1 | <a href= "#top" target= "_self" >回到顶部</a> |
2.通过JavaScript的scroll回到顶部,控制水平和垂直方向:
1 | <a href= "javascript:scroll(0,0)" >JavaScript回到顶部<s/a> |
3.通过JavaScript控制,缓慢向上滑动,不过不够平滑,代码参考如下:
1 | <a onclick= "goScrollTop()" >JavaScript缓慢向上滑动</a> |
1 2 3 4 5 6 7 8 9 10 11 | function goScrollTop() { //把内容滚动指定的像素数(第一个参数是向右滚动的像素数,第二个参数是向下滚动的像素数) //向上是负数,向下是正数 window.scrollBy(0, -100); //延时递归调用,模拟滚动向上效果 scrolldelay = setTimeout( 'goScrollTop()' , 100); //获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop,否则取document.body.scrollTop;因为二者只有一个会生效,另一个就恒为0,所以取和值可以得到网页的真正的scrollTop值 var sTop = document.documentElement.scrollTop + document.body.scrollTop; //判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面) if (sTop == 0) clearTimeout(scrolldelay); } |
4.当滚动条滚动到一定位置的时候显示,滚动条向上回滚的时候隐藏向上的回到顶部按钮,这种方式是最常用的方式:
1 2 3 | <div class = "goTop" > <span>Go</span> </div> |
jQuery代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function goTop(min_height) { $( ".goTop" ).click( function() { $( 'html,body' ).animate({ scrollTop: 0 }, 700); }); //获取页面的最小高度,无传入值则默认为600像素 min_height=min_height?min_height:400; //为窗口的scroll事件绑定处理函数 $(window).scroll(function() { //获取窗口的滚动条的垂直位置 var s = $(window).scrollTop(); //当窗口的滚动条的垂直位置大于页面的最小高度时,让返回顶部元素渐现,否则渐隐 if (s > min_height) { $( ".goTop" ).fadeIn(100); } else { $( ".goTop" ).fadeOut(200); } }); } $(function() { goTop(); }); |
CSS代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //博客园-FlyElephant .goTop { height: 40px; width: 40px; background: red; border-radius: 50px; position: fixed ; top: 90%; right: 3%; display: none; } .goTop span { color: #fff; position: absolute; top: 12px; left: 8px; } |
以上就是常用的样式,如有更好的方式,欢迎探讨~
作者:FlyElephant
出处:http://www.cnblogs.com/xiaofeixiang
说明:博客经个人辛苦努力所得,如有转载会特别申明,博客不求技惊四座,但求与有缘人分享个人学习知识,生活学习提高之用,博客所有权归本人和博客园所有,如有转载请在显著位置给出博文链接和作者姓名,否则本人将付诸法律。
出处:http://www.cnblogs.com/xiaofeixiang
说明:博客经个人辛苦努力所得,如有转载会特别申明,博客不求技惊四座,但求与有缘人分享个人学习知识,生活学习提高之用,博客所有权归本人和博客园所有,如有转载请在显著位置给出博文链接和作者姓名,否则本人将付诸法律。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述