全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生js实现返回顶部缓冲效果

运行原理

通过定时器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-top;}
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;}
#gotop{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;}
#gotop span{display: block;padding: 5px;}
</style>
</head>
<body>
<div class="bg"></div>
<div id="gotop"><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 gotop=document.getElementById("gotop");  
  var timer;
  var tf=true;
  //滚动触发
  window.onscroll=function(){
   //获取滚动条高度
   var ostop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
   //获取窗口可视区域高度
   //console.log(ostop)
   var ch=document.documentElement.clientHeight||document.body.clientHeight;
   //如果页面超过一屏高度按钮显示,否则隐藏
   if(ostop>=ch){
    gotop.style.display="block";
   }else{
    gotop.style.display="none";
   }
   //
   if(!tf){
    clearInterval(timer);    
   }
    tf=false;
  }
  //点击触发
  gotop.onclick=function(){
   //创建定时器
   timer=setInterval(function(){
    //获取滚动条高度
    var ostop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    //每次上升高度的20%
    var speed=Math.ceil(ostop/5);
    //每次上升当前高度的80%
document.documentElement.scrollTop=document.body.scrollTop=ostop-speed;
    //如果高度为0,清除定时器
    if(ostop==0){
     clearInterval(timer);
    } 
    tf=true;
   },30);   
  }
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 原生js返回顶部  # js实现返回顶部  # 返回顶部  # 一个简单的弹性返回顶部JS代码实现介绍  # js+JQuery返回顶部功能如何实现  # javascript返回顶部效果(自写代码)  # js简单的点击返回顶部效果实现方法  # JS返回顶部实例代码  # javascript简单实现跟随滚动条漂浮的返回顶部按钮效果  # javascript实现博客园页面右下角返回顶部按钮  # js实现返回顶部效果  # jQuery实现返回顶部功能适合不支持js的浏览器  # js实现带有动画的返回顶部  # 滚动条  # 多个  # 完后  # 加载  # 就达  # fieldset  # form  # li  # legend  # input  # button  # textarea  # hr  # blockquote  # ul  # ol  # dd  # dl  # dt  # kbd 


相关文章: 车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  建站之星后台密码如何安全设置与找回?  如何用虚拟主机快速搭建网站?详细步骤解析  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  湖北网站制作公司有哪些,湖北清能集团官网?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  建站之星各版本价格是多少?  如何确保FTP站点访问权限与数据传输安全?  音乐网站服务器如何优化API响应速度?  详解jQuery中基本的动画方法  西安专业网站制作公司有哪些,陕西省建行官方网站?  c++ stringstream用法详解_c++字符串与数字转换利器  ,巨量百应是干嘛的?  学校建站服务器如何选型才能满足性能需求?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Bpmn 2.0的XML文件怎么画流程图  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何用已有域名快速搭建网站?  魔方云NAT建站如何实现端口转发?  ,制作一个手机app网站要多少钱?  学校为何禁止电信移动建设网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  成都网站制作报价公司,成都工业用气开户费用?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何在新浪SAE免费搭建个人博客?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  网站图片在线制作软件,怎么在图片上做链接?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Android自定义控件实现温度旋转按钮效果  建站之星伪静态规则如何设置?  临沂网站制作公司有哪些,临沂第四中学官网?  建站VPS能否同时实现高效与安全翻墙?  浅析上传头像示例及其注意事项  在线制作视频网站免费,都有哪些好的动漫网站?  小型网站建站如何选择虚拟主机?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何高效配置IIS服务器搭建网站?  如何通过wdcp面板快速创建网站?  如何通过WDCP绑定主域名及创建子域名站点? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。