使用jQuery获取滚动位置

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我需要将当前浏览器滚动位置作为变量。我应该使用哪些js或jQuery函数?我需要它来找出在侧面显示哪些元素。我在网上发现了一些东西,但对我的div没有什么作用,只是整页而已。

提问于
用户回答回答于
用户回答回答于

较老的IE浏览器和Firefox浏览器将滚动条添加到HTML中documentElement,或<html>HTML中的标签。

所有其他浏览器附加到滚动条document.body,或<body>HTML中的标签。

正确的解决方案是根据浏览器检查使用哪一个

var doc = document.documentElement.clientHeight ? document.documentElement : document.body;
var s   = $(doc).scrollTop();

jQuery确实使得这一点更容易,当传递window或者documentjQuery的scrollTop做一个类似的检查,并计算出来,所以这些应该工作跨浏览器

var s = $(document).scrollTop();

要么

var s = $(window).scrollTop();

如果是DIV,则必须定位附带滚动条的元素才能获取滚动的数量

$('div').scrollTop();

如果你需要从文档顶部获取元素距离,则也可以这样做

$('div').offset().top

扫码关注云+社区

领取腾讯云代金券