运行原理

通过定时器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小时内与您取得联系。