基于Javascript实现返回顶部按钮

前端之家收集整理的这篇文章主要介绍了基于Javascript实现返回顶部按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一个网页内容一多,就会分屏显示数据,如果屏目很多,用户访问的数据已经到了页面底部,这时候返回到顶部也是需要一点时间. 这样对用户体验来说,可能就稍微逊了一点. 所以页面数据多的网页,现在都会用一个"返回顶部"按钮来快速跳转到网页的顶部. 那现在我们就来实现这么一个功能.

这个页面我们就不写什么数据,直接就加入一个a标签来作为返回顶部的按钮,并给他一个class名称:top.

然后设置其样式表:

.top {
position: absolute;
top: 120px;
display: inline-block;
width: 50px;
height: 50px;
line-height: 50px;
text-decoration: none;
text-align: center;
background-color: #666666;
color: #ffffff;
right: 10px;
transition: all 0.3s;
visibility: hidden;
}
.top:hover {
background-color: #ff3300;
}

这里body设定为3000的高度,主要是让页面有滚动的效果. 按钮一般都是放在网页的右边靠下一点的位置. 这里我们通过position来设置.

我们还要分析一下,当用户的访问的网页在页面的顶部时,这个按钮肯定是不显示的. 所以我们这里用了visibility来控制按钮的显示与否.

界面很简单,我们就先将就一下. 下面来分析JS的实现.

首先这个按钮是在整个网页的效果上,因此监听滚动事件需要设置在整个窗口上. 因此,我们给window设置一个onscroll事件.

在这个事件里我们来控制返回顶部按钮的上下位置,和是否显示. 首先来完成上下位置的控制.

上下位置的控制,我们肯定得计算scrollTop的高度,以及网页单屏显示的高度. 当用户进入页面的时候,我们默认给这个按钮放置在页面右中部位置. 这时候的计算是:

将这个值赋给按钮的top属性.

然后如果用户滚动的时候,位置肯定是保持不变的,这时候的计算应该是

获取scrollTop的高度 var n_top = n_stop + n_half_height;//得到位置

这是e 对象是onsroll里的参数event. 这里我使用的是谷歌浏览器.其他浏览器未测试. 如果需要兼容,大家可以处理一下. 每滚动都得计算其高度,所以这个应该是放入在onscroll事件中.然后,将这个值赋给按钮的top属性.

当然不要忘记一件事,就是scrollTop为0的时候,按钮不需要显示. 大于0的时候,得让按钮显示. 前面讲过我们用visibility这个属性来控制的.这样代码就完整了. Javascript完整代码

最后的效果展示:

以上就是本文的全部内容,希望对大家的学习有所帮助。

猜你在找的JavaScript相关文章