基于JavaScript实现回到页面顶部动画代码


Posted in Javascript onMay 24, 2016

最近做的都是前端的项目,很多项目都有回到顶部的需求,下面把我写js代码做个笔录,方便以后查找。

发现还可以添加从快到慢的动画效果和随时下拉滚动条停止滚动的功能, 参考了imooc上相关课程,最终实现JS代码如下:

//页面加载后触发
window.onload = function(){
var btn = document.getElementById('btn');
var timer = null;
var isTop = true;
//获取页面可视区高度
var clientHeight = document.documentElement.clientHeight;
//滚动条滚动时触发
window.onscroll = function() {
//显示回到顶部按钮
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
if (osTop >= clientHeight) {
btn.style.display = "block";
} else {
btn.style.display = "none";
};
//回到顶部过程中用户滚动滚动条,停止定时器
if (!isTop) {
clearInterval(timer);
};
isTop = false;
};
btn.onclick = function() {
//设置定时器
timer = setInterval(function(){
//获取滚动条距离顶部高度
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
var ispeed = Math.floor(-osTop / 7);
document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
//到达顶部,清除定时器
if (osTop == 0) {
clearInterval(timer);
};
isTop = true;
},30);
};
};

以上内容是小编给大家介绍的基于JavaScript实现回到页面顶部动画代码,代码简单易懂,所有没给大家附太多的注释,如果大家在参考过程中发现有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
基于jQuery实现的QQ表情插件
Aug 25 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 #Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 #Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 #Javascript
jQuery中事件与动画的总结分享
May 24 #Javascript
jQuery根据表单name获取值的方法
May 24 #Javascript
深入理解jquery自定义动画animate()
May 24 #Javascript
深入理解jquery中的事件与动画
May 24 #Javascript
You might like
php实现统计邮件大小的方法
2013/08/06 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
PHP加密技术的简单实现
2016/09/04 PHP
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
python3 实现口罩抽签的功能
2020/03/11 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
Python实现手势识别
2020/10/21 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
优秀员工个人的自我评价
2013/11/29 职场文书
自我评价正确写法范文
2013/12/10 职场文书
银行员工职业规划范文
2014/01/21 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
出国留学担保书
2014/05/20 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
杭白菊导游词
2015/02/10 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
运动会通讯稿50字
2015/07/20 职场文书