详解原生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 相关文章推荐
JS date对象的减法处理实现代码
Dec 28 Javascript
jquery操作select大全
Apr 25 Javascript
JS获取图片高度宽度的方法分享
Apr 17 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 Javascript
React-Native 组件之 Modal的使用详解
Aug 08 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
Sep 27 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 Javascript
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
JavaScript通如何过RGraph实现动态仪表盘
Oct 15 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 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
用文本作数据处理
2006/10/09 PHP
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
php实现微信扫码支付
2017/03/26 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
潜说js对象和数组
2011/05/25 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
js的回调函数详解
2015/01/05 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
vue中的inject学习教程
2019/04/24 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
Python环境变量设置方法
2016/08/28 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
python3对接mysql数据库实例详解
2019/04/30 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
大学活动总结格式
2014/04/29 职场文书
工程部岗位职责范本
2015/04/11 职场文书
学生检讨书范文
2019/06/24 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python