基于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字符串处理实例代码
Aug 05 Javascript
js判断IE浏览器版本过低示例代码
Nov 22 Javascript
完美实现仿QQ空间评论回复特效
May 06 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 Javascript
详解jQuery中的easyui
Sep 02 jQuery
js 递归json树实现根据子id查父id的方法分析
Nov 08 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
jQuery实现动态加载瀑布流
Sep 01 jQuery
react国际化react-intl的使用
May 06 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/06/18 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
python pandas库的安装和创建
2019/01/10 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Python之指数与E记法的区别详解
2019/11/21 Python
Python argparse模块使用方法解析
2020/02/20 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
如何使用Pytorch搭建模型
2020/10/26 Python
美国社交购物市场:MassGenie
2019/02/18 全球购物
检举信的格式及范文
2014/04/04 职场文书
学校校庆演讲稿
2014/05/22 职场文书
办护照工作证明
2014/10/01 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
运动会加油稿20字
2014/11/15 职场文书
新员工试用期自我评价
2015/03/10 职场文书
团队拓展训练感想
2015/08/07 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python