JS获取页面滚动条位置的方法(含浏览器测试)

在 Javascript 中,获取页面滚动条位置的 DOM 属性有:document.body.scrollTop / document.body.scrollLeft、document.documentElement.scrollTop / document.documentElement.scrollLeft,但存在浏览器兼容性问题,以下是测试结果:

1、document.body.scrollTop / document.body.scrollLeft

① 存在文档声明(<!DOCTYPE html>)

谷歌浏览器:正常
360浏览器:正常
火狐浏览器:0
IE浏览器:0

② 不存在文档声明

谷歌浏览器:正常
360浏览器:正常
火狐浏览器:正常
IE浏览器:正常

2、document.documentElement.scrollTop / document.documentElement.scrollLeft

① 存在文档声明(<!DOCTYPE html>)

谷歌浏览器:0
360浏览器:0
火狐浏览器:正常
IE浏览器:正常

② 不存在文档声明

谷歌浏览器:0
360浏览器:0
火狐浏览器:0
IE浏览器:正常

综上,可用下面的方法获取滚动条位置:

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

在上面的语句中,通过“||”语句赋值,当且仅当 document.body.scrollTop 的值为“0”时,scrollTop 被赋值为 document.documentElement.scrollTop;scrollLeft 同理。

这样就可以获取到页面滚动条的位置,即距离页面顶端或左端的值。

此条目发表在JavaScript分类目录,贴了, , 标签。将固定链接加入收藏夹。