`
eoasis
  • 浏览: 78502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

document.body.scrollTop为0的处理办法 (转)

阅读更多

遇到这样一个棘手的问题:document.body.scrollTop的值 始终为0,于是到处找相关解决办法。
原来是DTD的问题,要是页面直接用<html>开头的话就没有问题了。但是要符合web标准,DTD当 然是不能少的。使用DTD时用document.documentElement.scrollTop代替 document.body.scrollTop就可以了。

但是有个浏览器兼容的问题,document.documentElement.scrollTop在IE中有效,但是在Firefox下是无效的。

总结:

去掉DTD后,在IE、Firefox下document.body.scrollTop值正常。

加上DTD,将document.documentElement.scrollTop代替document.body.scrollTop 后,IE中显示正常,在Firefox下document.documentElement.scrollTop(即 document.body.scrollTop)的值仍然是始终为0。

 

转自:http://www.cnblogs.com/uedt/archive/2010/04/02/1703087.html

分享到:
评论

相关推荐

    火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题

    在探讨“火狐、谷歌、IE关于`document.body.scrollTop`和`document.documentElement.scrollTop`以及值为0的问题”这一主题时,我们深入分析了浏览器在处理页面滚动位置时的不同行为,尤其是当滚动位置值始终为0时的...

    document.body.scrollTop用法

    - 在处理跨浏览器兼容性问题时,建议使用 `document.documentElement.scrollTop` 而不是 `document.body.scrollTop`。 - 使用 `window.scrollTo` 或 `window.scrollBy` 方法时,注意它们在不同浏览器中的兼容性差异...

    document.body属性.document.body.scrollTop

    综上所述,`document.body.scrollTop` 是JavaScript中处理页面滚动的一个重要工具,它可以帮助开发者实现各种与页面滚动相关的功能,提高用户体验。在实际项目中,熟练掌握并运用这一属性可以让你的网页动态效果更加...

    解决VUE中document.body.scrollTop为0的问题

    Vue中document.body.scrollTop的值总为零的解决办法 最近在做vue的时候监听页面滚动发现document.body.scrollTop一直为0 但是发现document.body.scrollTop一直是0。 查资料发现是DTD的问题。 页面指定了DTD,即指定...

    Document.body.scrollTop的值总为零的快速解决办法

    在JavaScript中,`document.body.scrollTop` 是一个常用于获取网页滚动条顶部到页面内容顶部的距离的属性。然而,有时候你会发现这个属性的值始终为零,即使页面已经进行了滚动。这通常与文档类型声明(DOCTYPE)...

    document.body.scrollTop 值总为0的解决方法 比较常见的标准问题

    因此,当你尝试通过`document.body.scrollTop`获取滚动值时,如果页面有DTD,返回的值始终为0,导致无法正确处理基于滚动位置的布局或效果。 解决这个问题的方法是使用`document.documentElement.scrollTop`。下面...

    javascript scrollTop正解使用方法

    在实际应用中经常会遇到以下问题:document.documentElement.scrollTop在Chrome里总为0document.body.scrollTop 在IE和firefox里总为01、各浏览器下 window.pageYOffset/document.documentElement.scrollTop/...

    document.documentElement和document.body区别介绍

    在标准模式下,则需要先判断document.documentElement.scrollLeft和document.documentElement.scrollTop是否为0,若是则使用document.body.scrollLeft和document.body.scrollTop。 了解了这些区别后,前端开发者在...

    document.documentElement &amp;&amp; document.documentElement.scrollTop

    var scrollTop = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop; console.log('当前滚动位置:', scrollTop); }; ``` 总的来说,理解和正确使用`document....

    js中的如何定位固定层的位置.docx

    但在W3C标准模式下(如XHTML文档),`document.body.scrollTop`通常返回0,此时应使用`document.documentElement.scrollTop`和`document.documentElement.scrollLeft`来获取正确的滚动值。 以下是一段具有良好兼容...

    javascript 获取网页高度宽度.pdf

    这个函数通过检查 `document.documentElement.scrollTop` 和 `document.body.scrollTop` 来确定滚动条的位置。在不同的浏览器中,这两个属性可能有不同的行为,因此需要进行条件判断来确保兼容性。 ```javascript ...

    javascript获取滚动条高度 页面宽度与高度

    scrollTop = document.body.scrollTop; } return scrollTop; } ``` 这个函数首先检查`document.documentElement.scrollTop`是否存在,如果存在则返回它的值;如果不存在,则尝试从`document.body.scrollTop`获取...

    JS,Jquery获取各种屏幕的宽度和高度

    4. **`document.body.scrollTop`** 和 **`document.body.scrollLeft`**: - 这两个属性表示文档相对于视口已滚动的距离,即滚动条的位置。 5. **`window.screenTop`** 和 **`window.screenLeft`**: - 分别表示...

    document.documentElement document.documentElement.scrollTop

    在标准的浏览器下,需要注意的东西,例如双击自动滚动 var diffY; if (document.documentElement && document.... else if (document.body) diffY = document.body.scrollTop else {/*Netscape stuff*/}

    用document.documentElement取代document.body的原因分析

    上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。 那我们怎么办呢?难道加上了文档...

    获取页面长宽和滚动条的位置

    y = document.body.scrollTop; x = document.body.scrollLeft; } return {X:x, Y:y}; } function main() { var div = document.getElementById("div"); for(var i=0; i; i++) { document....

    由document.body和document.documentElement想到的

    在Web开发中,理解和掌握`document.body`和`document.documentElement`的区别至关重要,尤其是在处理页面布局和兼容性问题时。这两个对象分别代表了HTML文档的不同部分:`document.body`指的是HTML文档的实际内容...

Global site tag (gtag.js) - Google Analytics