我尝试使用javascript document.body.scrollTop获取当前滚动px并与单页网站中的窗口高度进行比较(5个部分)。 我的主要目标是用户在总高度的1 / 5,2 / 5,3 / 5,4 / 5,5 / 5区域滚动,页面将自动停留在该部分。 但是在我的代码中,我得到了document.body.scrollTop,向我展示了两个不同的值,让我很困惑。
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值。为什么功能很好?
由于