在JavaScript中,获取滚轮(即页面滚动条)的高度通常指的是获取页面的滚动高度,也就是用户滚动页面时可见区域上方的内容高度。以下是一些基础概念和相关方法:
你可以使用以下几种方法来获取页面的滚动高度:
window.pageYOffset
这是最简单的方法之一,用于获取页面垂直滚动的像素值。
const scrollTop = window.pageYOffset;
console.log(scrollTop);
document.documentElement.scrollTop
这个属性返回文档在垂直方向已滚动的像素值。
const scrollTop = document.documentElement.scrollTop;
console.log(scrollTop);
document.body.scrollTop
(兼容性考虑)在一些旧版本的浏览器中,可能需要使用这个属性。
const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
console.log(scrollTop);
如果你想获取整个文档的高度,可以使用以下方法:
const documentHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
console.log(documentHeight);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>回到顶部示例</title>
<style>
#backToTop {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
border: none;
outline: none;
background-color: #555;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 10px;
}
#backToTop:hover {
background-color: #777;
}
</style>
</head>
<body>
<button onclick="topFunction()" id="backToTop" title="Go to top">Top</button>
<script>
// 获取按钮
let mybutton = document.getElementById("backToTop");
// 当用户滚动页面时,执行函数
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
// 如果用户向下滚动超过20px,显示按钮
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
mybutton.style.display = "block";
} else {
mybutton.style.display = "none";
}
}
// 当用户点击按钮,回到顶部
function topFunction() {
document.body.scrollTop = 0; // 对于Safari
document.documentElement.scrollTop = 0; // 对于Chrome, Firefox, IE 和 Opera
}
</script>
</body>
</html>
这个示例展示了如何检测滚动位置并在适当的时候显示一个“回到顶部”的按钮。
领取专属 10元无门槛券
手把手带您无忧上云