详解原生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 相关文章推荐
Extjs优化(二)Form表单提交通用实现
Apr 15 Javascript
用JavaScript修改CSS属性的代码
May 06 Javascript
查询json的数据结构的8种方式简介
Mar 10 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
jQuery中事件与动画的总结分享
May 24 Javascript
基于Phantomjs生成PDF的实现方法
Nov 07 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
Jan 24 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
Sep 29 Javascript
VUE 自定义组件模板的方法详解
Aug 30 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 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 cookie使用方法学习笔记分享
2013/11/07 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
jquery创建div 实现代码
2009/04/27 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
Python自动扫雷实现方法
2015/07/25 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python实现通讯录功能
2018/02/22 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
大学生创业感言
2014/01/25 职场文书
一年级数学教学反思
2014/02/01 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
旷课检讨书
2015/01/26 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
oracle数据库去除重复数据
2022/05/20 Oracle