详解原生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解决常见浏览器兼容问题的12种方法
Jan 04 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
jquery.validate分组验证代码
Mar 17 Javascript
jquery 表格的增行删行实现思路
Mar 21 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
Aug 14 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
JS实现设置ff与ie元素绝对位置的方法
Mar 08 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
Jun 13 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
Vue递归实现树形菜单方法实例
Nov 06 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
May 10 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 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实现的获取URL信息的类
2007/01/02 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
Python md5与sha1加密算法用法分析
2017/07/14 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
Python3.5运算符操作实例详解
2019/04/25 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
python实现超级马里奥
2020/03/18 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
一些关于MySql加速和优化的面试题
2014/01/30 面试题
幼儿园教育教学反思
2014/01/31 职场文书
幼儿园老师寄语
2014/04/03 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
数据库之SQL技巧整理案例
2021/07/07 SQL Server