📜  如何使用 JavaScript 获取滚动条的高度?(1)

📅  最后修改于: 2023-12-03 15:23:53.503000             🧑  作者: Mango

如何使用 JavaScript 获取滚动条的高度?

在编写网页时,我们常常需要获取当前页面的滚动条高度。例如,在实现“滚动到顶部”或“滚动到底部”等功能时,就需要知道当前滚动条的高度。

在 JavaScript 中,我们可以通过以下代码获取滚动条的高度:

var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

上述代码会先尝试获取 document.documentElement.scrollTop 的值,若该值不存在则尝试获取 document.body.scrollTop 的值。两个值中至少有一个可用,一般情况下取前者。这是因为在某些浏览器中(如火狐浏览器),滚动条的高度是由 document.documentElement.scrollTop 决定的。

需要注意的是,该代码只能获取当前滚动条的高度,若页面发生滚动后需要再次获取高度,则需要重新执行该代码。

以下是一个完整的示例,演示如何在页面滚动时获取滚动条高度,并在到达一定高度时显示一个“回到顶部”按钮:

<!DOCTYPE html>
<html>
<head>
	<title>获取滚动条高度示例</title>
<style type="text/css">
	#back-to-top {
		display: none;
		position: fixed;
		right: 20px;
		bottom: 20px;
		width: 80px;
		height: 80px;
		line-height: 80px;
		text-align: center;
		background-color: #222;
		color: #fff;
		cursor: pointer;
	}
</style>
</head>
<body>

	<div id="back-to-top">回到顶部</div>

	<script type="text/javascript">
		window.onscroll = function() {
			// 获取滚动条高度
			var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

			// 判断是否已经滚动到一定高度
			if (scrollTop > 200) {
				document.getElementById('back-to-top').style.display = 'block';
			} else {
				document.getElementById('back-to-top').style.display = 'none';
			}
		}

		document.getElementById('back-to-top').onclick = function() {
			document.documentElement.scrollTop = document.body.scrollTop = 0;
		}
	</script>
</body>
</html>

在上述示例中,我们绑定了 window.onscroll 事件,在滚动时获取滚动条高度,并根据高度判断是否需要显示“回到顶部”按钮。点击按钮后,就会将滚动条高度设置为 0,以实现滚动到页面顶部的效果。

以上就是使用 JavaScript 获取滚动条高度的方法。