使用jquery获取滚动位置
奇怪的请求,但我需要获取当前的浏览器滚动位置作为variables。 我应该使用什么js或jquery函数? 我需要它弄清楚什么元素显示在一边。 我在网上发现了一些东西,但没有什么适用于我的div,只是整个页面。
跨浏览器变种
$(document).scrollTop();
较早的IE浏览器和Firefox浏览器将滚动条附加到documentElement
,或者<html>
的<html>
标签是什么。
所有其他浏览器都将滚动条附加到document.body
,或者HTML中的<body>
标签是什么。
正确的解决scheme是根据浏览器检查使用哪一个
var doc = document.documentElement.clientHeight ? document.documentElement : document.body; var s = $(doc).scrollTop();
jQuery确实使这一点更容易,当传递任何window
或document
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()获取或设置滚动位置。