这几天突然发现个问题,iframe里面document.body.scrollTop总是0,搞了半天,后来在百度了一下,找到一文章,搞定!原文如下:
原来在HTML文件头部声明了这样一句:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
改成这样就好了:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
但页面稍有变化,感觉不爽,于是又在google里找,终于发现这是IE5与IE6的区别:
var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat') {
scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
scrollPos = document.body.scrollTop;
}
alert(scrollPos);
后来发现可以用一行代码就能搞定,比较简单:
var top = document.body.scrollTop || document.documentElement.scrollTop || scrollPos = window.pageYOffset;