有一個功能需要判斷返回頂部按鈕是否顯示。
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"; } }
以上所述是小編給大家介紹的Document.body.scrollTop的值總為零的解決辦法,希望對大家有所幫助!