奇怪的请求,但我需要将当前浏览器滚动位置作为变量。我应该使用什么 js 或 jquery 函数?我需要它来确定要在侧面显示哪些元素。我在网上找到了一些东西,但没有适合我的 div 的东西,只有整页。
问问题
190320 次
4 回答
120
跨浏览器变体
$(document).scrollTop();
于 2013-08-02T11:05:14.017 回答
33
较旧的 IE 和 Firefox 浏览器将滚动条附加到documentElement
, 或<html>
HTML 中的标记。
所有其他浏览器都将滚动条附加到document.body
,或者<body>
HTML 中的标记。
正确的解决方案是检查使用哪一个,具体取决于浏览器
var doc = document.documentElement.clientHeight ? document.documentElement : document.body;
var s = $(doc).scrollTop();
jQuery 确实让这变得更容易了,当传入任何一个时,window
或者document
jQueryscrollTop
会进行类似的检查并计算出来,所以这些中的任何一个都应该跨浏览器工作
var s = $(document).scrollTop();
或者
var s = $(window).scrollTop();
描述:获取匹配元素集合中第一个元素的滚动条当前垂直位置,或者为每个匹配元素设置滚动条的垂直位置。
...没有什么对我的 div 有用,只有整页
如果是用于 DIV,则必须以附加滚动条的元素为目标,以获取滚动量
$('div').scrollTop();
如果您需要获取元素与文档顶部的距离,您也可以这样做
$('div').offset().top
于 2013-02-14T23:39:05.467 回答
4
我相信使用 jQuery 的最佳方法是使用.scrollTop()
:
var pos = $('body').scrollTop();
于 2013-02-14T23:41:00.760 回答
1
使用scrollTop()获取或设置滚动位置。
于 2013-02-14T23:39:39.787 回答