详解原生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 相关文章推荐
基于jquery实现的鼠标拖拽元素复制并写入效果
Aug 23 Javascript
jQuery 自定义函数写法分享
Mar 30 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
Google (Local) Search API的简单使用介绍
Nov 28 Javascript
为什么JS中eval处理JSON数据要加括号
Apr 13 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
Vue.Draggable实现拖拽效果
Jul 29 Javascript
获取layer.open弹出层的返回值方法
Aug 20 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
Jan 06 Javascript
vue实例的选项总结
Jun 09 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缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
php设置编码格式的方法
2013/03/05 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
js实现扫雷源代码
2020/11/27 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python的subprocess模块总结
2014/11/07 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
平面设计师工作职责范文
2013/12/03 职场文书
优秀求职信范文分享
2013/12/19 职场文书
模具数控专业自荐信
2014/01/27 职场文书
青年文明号口号
2014/06/17 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android