关于javascript scrollTop那点事

来源:互联网 发布:易语言刷7钻源码 编辑:程序博客网 时间:2024/05/16 06:24

javascript scrollTop 获取滚动条相对于其顶部的偏移(如制作自动显示隐藏的“返回顶部”按钮)。在实际应用中经常会遇到以下问题:

  1. document.documentElement.scrollTop在Chrome里总为0
  2. 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;

原创粉丝点击