获取滚动条位置的通用方法--兼容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)