javascript scrollTop 獲取滾動條相對於其頂部的偏移(如制作自動顯示隱藏的“返回頂部”按鈕)。在實際應用中經常會遇到以下問題:
document.documentElement.scrollTop在Chrome裡總為0
document.body.scrollTop 在IE和firefox裡總為0
1、各浏覽器下 window.pageYOffset/document.documentElement.scrollTop/document.body.scrollTop的差異
示例:
復制代碼 代碼如下:
window.scroll(0,100)
console.log(“window.pageYOffset:”+window.pageYOffset)
console.log(“document.documentElement.scrollTop:”+document.documentElement.scrollTop)
console.log(“document.body.scrollTop:”+document.body.scrollTop)
IE6/7/8:
doctype:
window.pageYOffset:undefined
document.documentElement.scrollTop:100
document.body.scrollTop:0
無doctype:
window.pageYOffset:undefined
document.documentElement.scrollTop:0
document.body.scrollTop:100
Safari/Chrome:
window.pageYOffset:100
document.documentElement.scrollTop:0
document.body.scrollTop:100
Firefox/Opera:
doctype:
window.pageYOffset:100
document.documentElement.scrollTop:100
document.body.scrollTop:0
無doctype:
window.pageYOffset:100
document.documentElement.scrollTop:0
document.body.scrollTop:100
2、獲取scrollTop值
完美的獲取scrollTop 賦值簡寫 :
復制代碼 代碼如下:
var scrollTop = window.pageYOffset|| document.documentElement.scrollTop || document.body.scrollTop;