文章出處

  項目中遇到這個小問題,看到有前輩總結,借來用一下

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造成影響。一點小技巧,但很實用。

 


文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()