documentbodyscrollTop的值總為零的解決辦法


有一個功能需要判斷返回頂部按鈕是否顯示。

JS代碼如下:

  var sTop = document.body.scrollTop;
    if(sTop>100){
        document.getElementById("sm_top").style.display="block";
    }else{
        document.getElementById("sm_top").style.display="none";
    }

但是發現document.body.scrollTop一直是0。

查資料發現是DTD的問題。

頁面指定了DTD,即指定了DOCTYPE時,使用document.documentElement。

頁面沒有DTD,即沒指定DOCTYPE時,使用document.body。

IE和Firefox都是如此。

而我的頁面加了<!DOCTYPE html>,所以如下即可。

     /*判斷回到頂部按鈕顯示與否*/
     window.onscroll=function(){
        var sTop = document.documentElement.scrollTop;
    if(sTop>100){
        document.getElementById("sm_top").style.display="block";
    }else{
        document.getElementById("sm_top").style.display="none";
    }
    }

 

 

本文作者starof,因知識本身在變化,作者也在不斷學習成長,文章內容也不定時更新,為避免誤導讀者,方便追根溯源,請諸位轉載注明出處:http://www.cnblogs.com/starof/p/5238654.html有問題歡迎與我討論,共同進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM