zoukankan      html  css  js  c++  java
  • document.body.scrollTop的值总为零的解决办法

    固定层位置:document.body.scrollTop的值总为零的解决办法2009-07-15 10:51转:dyldragon.javaeye.com/blog/420483

    原文出处:http://www.cftea.com/c/2008/06/U1FSRIC247DWTK2M.asp
    做页面的时候可能会用到位置固定的层,读取 document.body.scrollTop 来设置层的位置,像这样:
    Js代码
    window.onscroll = function ()   
    {   
        var oFix = document.getElementById("divfix");   
         oFix.style.top = document.body.scrollTop + "px";   
    }  

    window.onscroll = function ()
    {
        var oFix = document.getElementById("divfix");
        oFix.style.top = document.body.scrollTop + "px";
    }

    可是怎么没有达到预期效果呢,输出 document.body.scrollTop 的值一看,一直都是 0。原来是 DTD 的问题,要是页面直接用 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。具有 DTD 时用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了。
    Js代码
    window.onscroll = function ()   
    {   
        var oFix = document.getElementById("divfix");   
         oFix.style.top = document.documentElement.scrollTop + "px";   
    }  

    window.onscroll = function ()
    {
        var oFix = document.getElementById("divfix");
        oFix.style.top = document.documentElement.scrollTop + "px";
    }

    页面具有 DTD(或者说指定了 DOCTYPE)时,使用 document.documentElement。
    页面不具有 DTD(或者说没有指定了 DOCTYPE)时,使用 document.body。
    在 IE 和 Firefox 中均是如此。
    为了兼容,可以使用如下代码:
    var scrollTop = window.pageYOffset
                    || document.documentElement.scrollTop
                    || document.body.scrollTop
                    || 0;

  • 相关阅读:
    How to alter department in PMS system
    Can't create new folder in windows7
    calculate fraction by oracle
    Long Wei information technology development Limited by Share Ltd interview summary.
    ORACLE BACKUP AND RECOVERY
    DESCRIBE:When you mouse click right-side is open an application and click left-side is attribution.
    ORACLE_TO_CHAR Function
    电脑BOIS设置
    JSP点击表头排序
    jsp+js实现可排序表格
  • 原文地址:https://www.cnblogs.com/mokliu/p/2138805.html
Copyright © 2011-2022 走看看