$(window).scroll和$(window).scrollTop()為0的問題


問題1:$(window).scroll無效問題

  如果你的css中:html,body的高度樣式如果設置為100%,

  那么$(window).scroll方法將檢測不到正確的滾出高度(0),導致滾動監聽事件失效,

解決方法:

  設置html,body{height:auto}可以解決。

問題2:$(window).scrollTop()獲取值一直為0

  最近用到scrolloTop()想去獲取滾動條距離頂部的距離,結果只有chrome下面可以正常的獲取scrollTop,結果ff和ie下這個值都等於0,使得許多效果比如屏幕滾動等等均無法正常實現。究其原因是scrollTop()在各個瀏覽器中的兼容性問題,在ff和ie,以及是否有doctype聲明的時候都會有不同的效果。

  下面是兼容各種瀏覽器的寫法,分別為獲取當前的scrollTop和設置scrollTop:

   //兼容方式獲取scrolltop以及設置scrolltop  

    function getScrollTop() {  

      var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;  

      return scrollTop;  

    }  

    function setScrollTop(scroll_top) {  

      document.documentElement.scrollTop = scroll_top;  

       window.pageYOffset = scroll_top;  

       document.body.scrollTop = scroll_top;  

     }  


免責聲明!

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



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