关于javascript scrollTop那点事

本文探讨了在不同浏览器环境下如何准确地获取页面滚动条的位置(scrollTop),并提供了一个兼容各种浏览器的简洁代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值