详解原生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实现程序暂停与继续功能代码解读
Oct 10 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
AngularJS 表达式详细讲解及实例代码
Jul 26 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
JavaScript基本语法_动力节点Java学院整理
Jun 26 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
jquery实现上传图片功能
Jun 29 jQuery
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 分页类 扩展代码
2009/06/11 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php中的观察者模式简单实例
2015/01/20 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
js切换光标示例代码
2013/10/10 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Anaconda入门使用总结
2018/04/05 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
学习python需要有编程基础吗
2020/06/02 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
感恩小明星事迹材料
2014/05/23 职场文书
通信工程专业求职信
2014/06/04 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
销售人员管理制度
2015/08/06 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书