关于Firefox中scrollTop和scrollLeft获取为0的最佳解决方案

我们在Firefox中获取浏览器的scrollTop和scrollLeft,此属性在xhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0,如果不要此标签则一切正常,那么在xhtml页面怎么获得body的坐标呢,当然有办法,我们可以通过以下函数来获取:

function getScrollXY(){
var x,y;
if(document.body.scrollTop){
  x
=document.body.scrollLeft;
  y
=document.body.scrollTop;
}
else{
  x
=document.documentElement.scrollLeft;
  y
=document.documentElement.scrollTop;
}
return {x:x,y:y};

例如: getScrollXY().x 即为scrollLeft, getScrollXY().y 即为scrollTop.

另外还有一种写法:

var scrollTop = window.pageYOffset 
                || document.documentElement.scrollTop 
                || document.body.scrollTop 
                || 0;
引用通告地址: 点击获取引用地址
评论: 0 | 引用: 0 | 阅读: 1394 | 打印 | 打包 | 转发
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用