基于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 相关文章推荐
正则表达式语法
Oct 09 Javascript
javascript学习随笔(使用window和frame)的技巧
Mar 08 Javascript
Js 随机数产生6位数字
May 13 Javascript
仿谷歌主页js动画效果实现代码
Jul 14 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
原生js实现addclass,removeclass,toggleclasss实例
Nov 24 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
Dec 08 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
原生js实现密码强度验证功能
Mar 18 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
Jul 28 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
做一个有下拉功能的留言版
2006/10/09 PHP
跟我学Laravel之视图 & Response
2014/10/15 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
js中直接声明一个对象的方法
2014/08/10 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
react build 后打包发布总结
2018/08/24 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python 实现任务管理清单案例
2020/04/25 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
测绘工程系学生的自我评价
2013/11/30 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
验房委托书
2014/08/30 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
团日活动总结格式
2015/05/11 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL