var topBtn = document.getElementById('top');
// 获取视窗高度
var winHeight = document.documentElement.clientHeight;
window.onscroll = function () {
// 获取页面向上滚动距离,chrome浏览器识别document.body.scrollTop,而火狐识别document.documentElement.scrollTop,这里做了兼容处理
var toTop = document.documentElement.scrollTop || document.body.scrollTop;
// 如果滚动超过一屏,返回顶部按钮出现,反之隐藏
if(toTop>=winHeight){
topBtn.style.display = 'block';
}else {
topBtn.style.display = 'none';
}
}
topBtn.onclick=function () {
var timer = setInterval(function () {
var toTop = document.documentElement.scrollTop || document.body.scrollTop;
// 判断是否到达顶部,到达顶部停止滚动,没到达顶部继续滚动
if(toTop == 0){
clearInterval(timer);
}else {
// 设置滚动速度
var speed = Math.ceil(toTop/5);
// 页面向上滚动
document.documentElement.scrollTop=document.body.scrollTop=toTop-speed;
}
},50);
}
大家介绍如何通过 JS/CSS 实现网页返回顶部效果。
CSS 按钮样式:
#myBtn {
display: none; /* 默认隐藏 */
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
border: none;
outline: none;
background-color: red; /* 设置背景颜色,你可以设置自己想要的颜色或图片 */
color: white; /* 文本颜色 */
cursor: pointer;
padding: 15px;
border-radius: 10px; /* 圆角 */
}
到顶部的功能现在基本上是网页的标配了,当你已经浏览到页面底部时,一键返回顶部的功能确实非常方便。随着用户习惯的养成,这个功能都是页面必备的。那么作为一个前端开发者,我们如何实现这个实用又酷炫的功能呢?今天小编帮大家汇总了五种实现方法,觉得有用记得点赞,转发哦。
使用锚点链接是一种简单的返回顶部的功能实现。该实现主要在页面顶部放置一个指定名称的锚点,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的位置。原理和实现都很简单,核心就是通过锚点跳转到指定元素位置,然后把要跳转的元素放到页面顶部。
scrollTop属性表示被隐藏在内容区域上方的像素数。元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度。可以利用scrollTop来实现回到顶部的功能,修改body的scrollTop。示例如下:
scrollTo(x,y)是js原生的方法,作用是滚动当前window中显示的文档至(x,y)点。这是很常用的一种方法,设置scrollTo(0,0)就可以实现回到顶部的效果。示例如下:
scrollBy(x,y)方法滚动当前window中显示的文档,x和y指定滚动的相对量。只要把当前页面的滚动长度作为参数,逆向滚动,则可以实现回到顶部的效果。
5.scrollIntoView()
Element.scrollIntoView方法可以滚动当前元素,使其进入浏览器的可见区域。该方法可以接受一个布尔值作为参数。如果为true,表示元素的顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。如果没有提供该参数,默认为true。
使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果。
关于实现回到顶部功能的方法就和大家分享到这里,希望能对你的工作有帮助。如果你觉得本篇文章对你有帮助,欢迎点赞,评论,转发。
*请认真填写需求信息,我们会在24小时内与您取得联系。