当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 详解原生JS回到顶部

详解原生JS回到顶部

2019年07月19日  | 移动技术网IT编程  | 我要评论

第一次知道可以用超链接(锚点)实现回到顶部的时候我是很震惊的,想着原来可以这么简单啊!但是作为一个正在学习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回到顶部详解整合,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网