1

我正在尝试使用 javascript document.body.scrollTop 获取当前滚动像素并与单页网站(5 个部分)中的窗口高度进行比较。我的主要目标是用户在总高度的 1/5、2/5、3/5、4/5、5/5 区域滚动,页面将自动停留在该部分。但是在我的代码中,我得到了 document.body.scrollTop 向我展示了 2 个不同的值,这让我很困惑。

window.onscroll = function() {

var winH = document.documentElement.clientHeight
var scrollH = document.body.scrollTop

console.log(winH, scrollD);


if ( winH < (scrollD*1.2) ) {
  console.log(winH , scrollH)

}}

在控制台中滚动时将显示 2 组具有相同变量的不同高度。例子:

  • 518 218(来自第一个控制台日志,这是正确的,我的窗口高 518px,滚动 218px)

  • 218 218(我不明白为什么这个值相同,因为它总是显示相同的值,所以 if 语句被破坏了。)

ps:如果我将document.body.scrollTop 更改为全局变量,控制台将显示无法读取Null 的scrollTop 值的适当性。为什么它的功能很好?

谢谢

4

0 回答 0