doctype后如何获得body.clientHeight

今天在用一个随滚动条移动的效果代码时,发现有的页面,不动,而JS代码是一样的 。

上网一搜索才知道,原来是loose.dtd搞的鬼,查到的说明如下:

在用DW mx 2004 新建网页文件时会自动加入:

在ie6中很多js脚本执行就会出现问题,一般是在获取clientWidth, clientHeight,offsetWidth, offsetHeight,scrollWidth, scrollHeight,scrollTop, scrollLeft会返回不正确的值。

因为在加了doctype后,在ie6中这些document.body的属性已经重新分配给了document.documentElement。

比如:原来document.body.clientHeight,就要改成document.documentElement.scrollTop

而我的JS代码是好多页面公用的,有的页面有loose.dtd,有的没有。为了自适应,我就改了下代码:

((document.documentElement.clientHeight==0)?document.body.clientHeight:document.documentElement.clientHeight)

用这样的代码就能自适应了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注