javascript scrollTop正解使用方法

  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;