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;