文章出處
文章列表
項目中遇到這個小問題,看到有前輩總結,借來用一下
document.body.scrollTop與document.documentElement.scrollTop兼容
這兩天在寫一個JS的網頁右鍵菜單,在實現菜單定位的時候發現了這個問題:chrome居然不認識document.documentElement.scrollTop!
看前輩們的文章,紛紛表示如果有文檔聲明(即網頁第一句的docType)的情況下,標準瀏覽器是只認識documentElement.scrollTop的,但chrome雖然我感覺比firefox還標準,但卻不認識這個,在有文檔聲明時,chrome也只認識document.body.scrollTop.
由于在不同情況下,document.body.scrollTop與document.documentElement.scrollTop都有可能取不到值,那到底網頁的scrollTop值怎么得到呢?難道又要用javascript進行判斷?
其實不必。因為document.body.scrollTop與document.documentElement.scrollTop兩者有個特點,就是同時只會有一個值生效。比如document.body.scrollTop能取到值的時候,document.documentElement.scrollTop就會始終為0;反之亦然。所以,如果要得到網頁的真正的scrollTop值,可以這樣:
varsTop=document.body.scrollTop+document.documentElement.scrollTop;
這兩個值總會有一個恒為0,所以不用擔心會對真正的scrollTop造成影響。一點小技巧,但很實用。
文章列表
全站熱搜