耐心無止境 成功一瞬間

          BlogJava 聯(lián)系 聚合 管理
            31 Posts :: 5 Stories :: 25 Comments :: 0 Trackbacks

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

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

          可是怎么沒有達(dá)到預(yù)期效果呢,輸出 document.body.scrollTop 的值一看,一直都是 0。原來是 DTD 的問題,要是頁面直接用 開頭的話就沒有問題了。但是要符合 web 標(biāo)準(zhǔn),DTD 當(dāng)然是不能少的。具有 DTD 時(shí)用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了。

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

          編者注:

          • 頁面具有 DTD(或者說指定了 DOCTYPE)時(shí),使用 document.documentElement。
          • 頁面不具有 DTD(或者說沒有指定了 DOCTYPE)時(shí),使用 document.body。
          • 在 IE 和 Firefox 中均是如此。
          • 為了兼容,可以使用如下代碼:
            var scrollTop = window.pageYOffset 
                            || document.documentElement.scrollTop 
                            || document.body.scrollTop 
                            || 0;

          轉(zhuǎn)自:http://www.cftea.com/c/2008/06/U1FSRIC247DWTK2M.asp
          posted on 2008-08-29 17:00 Joshua Yan 閱讀(4223) 評論(0)  編輯  收藏 所屬分類: Web
          主站蜘蛛池模板: 抚州市| 息烽县| 肥东县| 阜宁县| 金乡县| 论坛| 娄烦县| 晋江市| 高要市| 洱源县| 高阳县| 鹤岗市| 湖州市| 乐业县| 龙川县| 裕民县| 垫江县| 板桥市| 调兵山市| 石台县| 阳山县| 芦溪县| 通榆县| 景泰县| 华坪县| 腾冲县| 临清市| 额济纳旗| 额敏县| 常德市| 潞城市| 墨脱县| 瑞安市| 宁强县| 张家港市| 武胜县| 拜城县| 娄烦县| 资溪县| 灵宝市| 惠水县|