获取滚动条位置的通用方法--兼容ie6,ie7,firefox2,firefox3,chrome等

  代码如下:       

        var scTop;   
        if (typeof window.pageYOffset != 'undefined') {
            scTop = window.pageYOffset;          }
        else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
            scTop = document.documentElement.scrollTop;  }
        else if (typeof document.body != 'undefined') {
            scTop = document.body.scrollTop;   }

 

pageYOffset是NS专用属性,它的含义和IE下的document.body.scrollTop一样。

document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。
      document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat,对其解释如下:
BackCompat Standards-compliant mode is not switched on. (Quirks Mode)
CSS1Compat Standards-compliant mode is switched on. (Standards Mode)

posted @ 2009-04-09 11:50  Asharp  阅读(2857)  评论(1编辑  收藏  举报