基于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 相关文章推荐
JavaScript中的细节分析
Jun 30 Javascript
Jquery 数据选择插件Pickerbox使用介绍
Aug 24 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
js定时调用方法成功后并停止调用示例
Apr 08 Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
JavaScript中获取HTML元素值的三种方法
Jun 20 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
Oct 09 Javascript
原生JS京东轮播图代码
Mar 22 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
监听element-ui table滚动事件的方法
Mar 26 Javascript
vue3实现v-model原理详解
Oct 09 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
JavaScript运算符小结
2015/06/03 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
星球大战与Python之间的那些事
2016/01/07 Python
Python如何判断数独是否合法
2016/09/08 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
python删除不需要的python文件方法
2018/04/24 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
军训的自我鉴定
2013/12/10 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
社区服务标语
2014/07/01 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2014年女职工工作总结
2014/11/27 职场文书
婚礼家长致辞
2015/07/27 职场文书
golang中的空接口使用详解
2021/03/30 Python
详解JVM系列之内存模型
2021/06/10 Javascript