详解原生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事件串连执行多个处理过程的方法
Mar 09 Javascript
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
jQuery参数列表集合
Apr 06 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
浅谈javascript中的闭包
May 13 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
js中创建对象的几种方式
Feb 05 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 Javascript
vue视图不更新情况详解
May 16 Javascript
vue+webpack 更换主题N种方案优劣分析
Oct 28 Javascript
Vue如何清空对象
Mar 03 Vue.js
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
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
解javascript 混淆加密收藏
2009/01/16 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
javascript回到顶部特效
2016/07/30 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
django中模板的html自动转意方法
2018/05/27 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
编写strcpy函数
2014/06/24 面试题
物流专业大学的自我评价
2014/01/11 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
农业生产宣传标语
2014/10/08 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
SQL Server内存机制浅探
2022/04/06 SQL Server