問題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;
}
