耐心無止境 成功一瞬間

          BlogJava 聯系 聚合 管理
            31 Posts :: 5 Stories :: 25 Comments :: 0 Trackbacks

          做頁面的時候可能會用到位置固定的層,讀取 document.body.scrollTop 來設置層的位置,像這樣:

          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 就可以了。

          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;

          轉自:http://www.cftea.com/c/2008/06/U1FSRIC247DWTK2M.asp
          posted on 2008-08-29 17:00 Joshua Yan 閱讀(4219) 評論(0)  編輯  收藏 所屬分類: Web
          主站蜘蛛池模板: 大荔县| 甘谷县| 客服| 巴彦县| 明水县| 乌拉特后旗| 南投市| 旬阳县| 玉林市| 珲春市| 民丰县| 正定县| 勐海县| 甘德县| 梁山县| 建昌县| 道孚县| 上蔡县| 车险| 井研县| 曲沃县| 贵州省| 邮箱| 永胜县| 平定县| 温州市| 蒲城县| 宿州市| 桃江县| 庆安县| 高青县| 日土县| 西安市| 库车县| 西畴县| 井研县| 临湘市| 莒南县| 白山市| 都江堰市| 碌曲县|