详解原生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 06 Javascript
js内存泄露的几种情况详细探讨
May 31 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
jquery导航制件jquery鼠标经过变色效果示例
Dec 05 Javascript
JavaScript模拟实现继承的方法
Mar 30 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
Vue实现页面添加水印功能
Nov 09 Javascript
node运行js获得输出的三种方式示例详解
Jul 02 Javascript
微信小程序轮播图swiper代码详解
Dec 01 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
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
js实现内置计时器
2019/12/16 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python argv用法详解
2016/01/08 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
如何写出好的Java代码
2014/04/25 面试题
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
青蓝工程实施方案
2014/03/27 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
学前教育见习总结
2015/06/23 职场文书
高一语文教学反思
2016/02/16 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS