关于pageYOffset scrollY scrollTop的小结

pageYOffset是window对象,适用于FF,chrome,IE9+,opera等多浏览器支持(其实是针对ie8和ie9之下的ie)同时忽略Doctype定义规则,也即是DTD说明。

 window.pageYOffset;  //用法,在ie8以及ie8之下显示undefined;

 

scrollY是window对象,适用于FF,chrome,opera支持,ie不支持,忽视Doctype定义规则,也即是DTD说明。

 window.scrollY;  //用法,在ie下显示undefined;

 

 scrollTop 使用时要区分是否声明了DTD的情况

  未声明DTD

   document.body.scrollTop;  //兼容所有浏览器,来获取滚动条的偏移量;

  声明了DTD

   document.documentElement.scrollTop;  //chrome,safari值为0;

 

综合上边,所以通常取滚动条的偏移量的时候用的是var scroll_top=window.pageYOffset || document.documentElement.scrollTop

这样写的原因可能是因为pageYOffset兼容的范围比较大,基本上只要执行到此处就OK了,除非碰到ie8等浏览器才需要后边的支持。加快执行速度。(个人拙见)

 

关于DTD请百度,本人对DTD也就知道个皮毛,有这么个东西而已,要是有大牛的话,欢迎指点

   document.compatMode;  //可以用来判断是否声明了DTD;

  值为"BackCompat":未声明DTD;    值为"CSS1Compat":已声明DTD;

 

 

posted @ 2013-11-14 11:34  real 菜鸟  阅读(3078)  评论(0编辑  收藏  举报