为什么window.scrollY!== document.body.clientHeight @最大滚动点

时间:2018-07-13 09:54:43

标签: javascript dom scroll

为什么窗口最大滚动不等于身体高度?

我正在尝试对最大滚动和当前滚动之间的摩擦产生影响。

3 个答案:

答案 0 :(得分:2)

这是因为window.scrollY将为您提供左上角的坐标。您会看到,如果在最大滚动点处将窗口的高度添加到window.scrollY,您将拥有高度。

示例: 我的窗口在innerHeight中占599, 我的body的高度为1797, 在最大滚动点处的window.scrollY的值为1198, 如果执行1198 + 599,我将得到1797,它是我文档的正确高度。

1198 + 599 = 1797

请记住,window.scrollY的值在文档的左上角。

答案 1 :(得分:1)

请参见Element.clientHeight

  

对于具有以下元素的元素,Element.clientHeight只读属性为零   没有CSS或内联布局框,否则为   元素(以像素为单位),包括padding,但不包括水平滚动条   heightbordermargin

     

clientHeight可以计算为CSS height + CSS padding-高度   水平滚动条(如果有)。

可能为主体分配了margin

答案 2 :(得分:1)