详解原生JS回到顶部


Posted in Javascript onMarch 25, 2019

第一次知道可以用超链接(锚点)实现回到顶部的时候我是很震惊的,想着原来可以这么简单啊!但是作为一个正在学习JS的小白,不能就这么轻易止步,所以查资料自己整了一个JS的回到顶部。

HTML代码:

<div class="container">
	<p>你好哇</p>
	...
</div>
<div id="top">回到顶部</div>

CSS代码:

.container{
	border: 1px solid black;
}
#top{	
	position: fixed;
	padding: 10px;
	width: 20px;
	border: 1px solid black;
	box-shadow: 0 0 2px #333;
	right: 20px;
	bottom: 20px;
}
#top:hover{
	cursor: pointer;
}

JS代码:

//创建变量
var scroll_Top = document.getElementById('top');
 
//用最常用的scrollTop属性实现
var timer = null;
function scrollTop(){
	// 取消一个通过调用requestAnimationFrame()方法添加到计划中的动画帧请求.
	cancelAnimationFrame(timer);
	/* requestAnimationFrame 会把每一帧中的所有DOM操作集中起来,
	在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率
	一般来说,这个频率为每秒60帧。 */
	timer = requestAnimationFrame(function sTop(){
		var top = document.body.scrollTop || document.documentElement.scrollTop;
		if(top > 0){
      //使用定时器,将scrollTop的值每次减少20(自行设置),直到减少到0,则滚动完毕
			document.body.scrollTop = document.documentElement.scrollTop = top - 20;
			timer = requestAnimationFrame(sTop);
		}else{
			cancelAnimationFrame(timer);
		} 
	});
}
scroll_Top.addEventListener('click', scrollTop, false);

效果手动截图:

详解原生JS回到顶部

详解原生JS回到顶部

以上所述是小编给大家介绍的JS回到顶部详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript+mapbar实现地图定位
Apr 09 Javascript
Extjs中使用extend(js继承) 的代码
Mar 15 Javascript
extjs3 combobox取value和text案例详解
Feb 06 Javascript
javascript实现博客园页面右下角返回顶部按钮
Feb 22 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
常见的浏览器Hack技巧整理
Jun 29 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
p5.js绘制创意自画像
Nov 04 Javascript
封装 axios+promise通用请求函数操作
Aug 11 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
Nov 24 Javascript
javascript验证form表单数据的案例详解
Mar 25 #Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 #Javascript
详解javascript函数写法大全
Mar 25 #Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
Mar 25 #Javascript
Node.js之readline模块的使用详解
Mar 25 #Javascript
Javascript的this详解
Mar 23 #Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 #Javascript
You might like
php自动加载的两种实现方法
2010/06/21 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
浅谈php提交form表单
2015/07/01 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
Angular实现的进度条功能示例
2018/02/18 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python简单读取json文件功能示例
2017/11/30 Python
详细分析python3的reduce函数
2017/12/05 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python 检查文件mime类型的方法
2018/12/08 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
python3判断IP地址的方法
2021/03/04 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
大学生毕业的自我评价分享
2014/01/02 职场文书
保护环境的建议书
2014/03/12 职场文书
市场营销毕业求职信
2014/08/07 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
详细介绍python操作RabbitMq
2022/04/12 Python