原因:scrollTop可以是一个小数。
市面上各种高分屏,高DPI出现,2D渲染系统都是以浮点数定义坐标了。
(计算机无法准确的存储整数,scrollTop=scrollTop+1px)
Element.scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。(在使用显示比例缩放的系统上,scrollTop可能会提供一个小数。)
HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。
Element.scrollHeight 这个只读属性是一个元素内容高度的度量,包括由于溢出导致的视图中不可见内容。(属性将会对值四舍五入取整)
方法:Element.scrollTop + Element.offsetHeight + 1 >= Element.scrollHeight
这样可以更好地判断滚动的位置