【问题标题】:jquery body selector seems to not workjquery body 选择器似乎不起作用
【发布时间】:2014-04-09 15:16:31
【问题描述】:

我的 ().scrollTop() 函数有问题。我想检查我的 html 的正文是否滚动。我试过这段代码:

p = $('body').scrollTop();
console.log(p);

也代替了我尝试的选择器中的 ('body') (document.body), ("#ID")。

问题是,在控制台中我总是得到“null”而不是“0”的返回值。我对(窗口)进行了同样的尝试,然后它返回“0”并且工作正常。但在我的情况下,我不能使用 (window) 因为我必须将 html 的溢出设置为隐藏。文档的正文是可滚动的,并且高度/宽度为 100%,所以我不明白为什么它不起作用..

非常感谢您的帮助!!

【问题讨论】:

标签: jquery events jquery-selectors null scrolltop


【解决方案1】:

使用document 代替body

$(document).scrollTop();

【讨论】:

  • $(document).scrollTop();将返回 的 scrollValue 问题是,就像我之前写的那样,我不想要整个 HTML 的 scrollValue,因为它总是“0”,因为我有溢出:隐藏在我的 上。相反,我想要 -element. 的值
  • @user1430544 :如果你能创建小提琴会很棒
【解决方案2】:

你可能想用这个:

<html>
<body>
<div id="wrap">
you html ...
</div>
</body>
</html>

js:

p=$("#wrap").scrollTop()
console.log(p)

【讨论】:

  • 我想获取当前的滚动值,最后我希望它返回“0”以表示位于顶部或例如。如果我将主体向下滚动 50 像素,则为“50”。问题是我没有得到应该为“0”的主体的滚动值,而是得到“null”
  • @user1430544 对不起,我的不好,那么温和的答案是正确的。
  • 无论如何,scroll top 将适用于有父 dom 的东西,尝试将你的 body 的全部内容包装在一个容器 div 中
  • 不,如果我想获取 的滚动值而不是搜索 的滚动值..,那将是正确的
  • jsfiddle.net/gw6yb/1 这是项目,问题是我尝试用 jquery 初始化的导航栏下的阴影
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 2013-07-24
  • 2023-03-10
  • 2018-06-13
  • 2016-01-10
  • 1970-01-01
相关资源
最近更新 更多