原生js实现返回顶部缓冲效果
网络编程 2021-07-04 19:20www.168986.cn编程入门
本文主要分享了原生js实现返回顶部缓冲效果的示例代码。具有一定的参考价值,狼蚁网站SEO优化跟着长沙网络推广一起来看下吧
运行原理
通过定时器30毫秒执行一次滚动条上升,每次上升的高度为当前高度的80%,这样就达到了上升缓冲的动画效果。
判断当滚动条高度超过一屏时,按钮显示,默认隐藏
知识要点
scrollTop//获取滚动条高度 需要写兼容 clientHeight//可视窗口高度 需要写兼容 setInterval//定时器 window.onscroll//滚动触发事件
完整代码
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>demo</title> <style> body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;} h1,h2,h3,h4,h5,h6{font-size:100%;} address,cite,dfn,em,var{font-style:normal;} code,kbd,pre,samp{font-family:courier new,courier,monospace;} ul,ol{list-style:none;} a{text-decoration:none;} a:hover{text-decoration:none;} sup{vertical-align:text-;} sub{vertical-align:text-bottom;} legend{color:#000;} fieldset,img{border:0;} button,input,select,textarea{font-size:100%;} table{border-collapse:collapse;border-spacing:0;} .clear{clear: both;float: none;height: 0;overflow: hidden;} .bg{background:#9B1BC5; width: 1000px; height: 3000px; margin: 0 auto;} #go{width: 50px; height: 50px; background:#5490F5; color: #fff; position: fixed; left: 50%; bottom: 30px; text-align: center; font-family: "Microsoft Yahei",tahoma,arial; font-size: 14px; cursor: pointer; margin-left: 520px; display: none;} #go span{display: block;padding: 5px;} </style> </head> <body> <div class="bg"></div> <div id="go"><span>返回顶部</span></div> <script type="text/javascript"> //在页面加载完后立即执行多个函数方案 function addloadEvent(func){ var oldonload=window.onload; if(typeof window.onload !="function"){ window.onload=func; } else{ window.onload=function(){ if(oldonload){ oldonload(); } func(); } } } //在页面加载完后立即执行多个函数方案结束 addloadEvent(b); function b(){ var go=document.getElementById("go"); var timer; var tf=true; //滚动触发 window.onscroll=function(){ //获取滚动条高度 var os=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; //获取窗口可视区域高度 //console.log(os) var ch=document.documentElement.clientHeight||document.body.clientHeight; //如果页面超过一屏高度按钮显示,否则隐藏 if(os>=ch){ go.style.display="block"; }else{ go.style.display="none"; } // if(!tf){ clearInterval(timer); } tf=false; } //点击触发 go.onclick=function(){ //创建定时器 timer=setInterval(function(){ //获取滚动条高度 var os=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; //每次上升高度的20% var speed=Math.ceil(os/5); //每次上升当前高度的80% document.documentElement.scrollTop=document.body.scrollTop=os-speed; //如果高度为0,清除定时器 if(os==0){ clearInterval(timer); } tf=true; },30); } } </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程