[转]关于pageYOffset、scrollTop和scrollY

在获取页面滚动的高度时候,往往有不同的获取方式,而且不同的属性浏览器支持稍有差别:

pageYOffset:属于window对象,IE9+ 、firefox、chrome,opera均支持该方式获取页面滚动高度值,并且会忽略Doctype定义规则。

window.pageYOffset;

 

scrollY: 属于window对象,firefox、chrome,opera支持,IE不支持,忽略Doctype规则。

window.scrollY;

 

页面如果未定义doctype文档头,所有的浏览器都支持document.body.scrollTop属性获取滚动高度。

document.body.scrollTop;

 

如果页面定义了doctype文档头,那么html元素上的scrollTop属相在IE、firefox,Opera(presto内核)下都可以获取都可以获取滚动高度值,而在chrome和safari下其值也为0.

document.documentElement.scrollTop; //Chrome,Safari下为0

 

因此在获取页面滚动高度的时候优先考虑使用 window.pageYOffset 然后在使用scrollTop

var scroll_top = window.pageYOffset || document.documentElement.scrollTop;
posted @ 2013-09-25 10:34  Acacia Sun  阅读(2815)  评论(0编辑  收藏  举报