有一個功能需要判斷返回頂部按鈕是否顯示。 JS代碼如下: var sTop = document.body.scrollTop; if(sTop>100){ document.getElementById("sm_top").style.display="block"; }else{ documen
有一個功能需要判斷返回頂部按鈕是否顯示。
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有問題歡迎與我討論,共同進步。