使用jquery获取滚动位置
Get scroll position using jquery
奇怪的请求,但我需要获得当前浏览器滚动位置作为变量。我应该使用什么js或jquery函数?我需要它来弄清楚要在侧面显示哪些元素。我在网上找到了一些东西,但对我的div没有任何作用,只有整个页面。
跨浏览器变体
$(document).scrollTop();
较旧的IE和Firefox浏览器将滚动条附加到documentElement
,或者HTML中的<html>
标记。
所有其他浏览器都将滚动条附加到document.body
,或者HTML中的<body>
标记。
正确的解决方案是根据浏览器检查使用哪一个
var doc = document.documentElement.clientHeight ? document.documentElement : document.body;
var s = $(doc).scrollTop();
当传入window
或document
时,jQuery确实让这变得更容易了。jQuery的scrollTop
也会进行类似的检查并计算出来,所以这两种方法都应该可以跨浏览器工作
var s = $(document).scrollTop();
或
var s = $(window).scrollTop();
jQuery scrollTop()文档
描述:获取滚动条的当前垂直位置匹配元素集合中的第一个元素或设置垂直元素每个匹配元素的滚动条的位置。
没有什么对我的div有效,只有整页
如果是针对DIV,则必须针对附加了滚动条的元素,才能获得滚动量
$('div').scrollTop();
如果你需要获得元素与文档顶部的距离,你也可以进行
$('div').offset().top
我认为jQuery的最佳方法是使用.scrollTop()
:
var pos = $('body').scrollTop();
使用scrollTop()获取或设置滚动位置。
相关文章:
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- jquery:将动画绑定到滚动条位置的更好方法
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 有没有一种方法可以直接从cordova获得滚动位置
- 根据滚动位置动态更改href
- css/js:通过滚动固定位置
- 是否可以使用flexbox显示模型设置元素的滚动位置
- 固定位置侧边栏不滚动-设置内容的高度
- 浏览器持续滚动位置
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- javascript/获取滚动条位置的回调
- Sammy.js缓存和滚动位置时,返回历史
- 使用绝对位置时,jQuery向左滚动不起作用
- PHP保持滚动位置
- 按下后退按钮时,如何保持可滚动区域的滚动位置
- 刷新jqGrid;t在启用无限滚动的情况下保存当前页面位置
- 将滚动条移动到页面中间的控制位置
- 如何使用位置获取滚动功能获取 HTML 中的元素标签
- 滚动位置 (scrollTop) 硬件是否在浏览器中加速
- 鼠标位置滚动