jQuery - 检测元素高度是否大于窗口高度并对此采取措施
标题确实说明了一切。
基本上我想检测这个 div
的 height
是否大于 window
height
并对此采取措施。 我已经这样做了,
但无法让它工作http://jsfiddle.net/dhkCa/3为什么它不起作用?
编辑:修复了 css 代码中的一个小错误。 Jsfiddle 链接已更新。
The tittle really says it all.
Basically i want to detect if this div
's height
is bigger than window
height
and do something about it..
I have done this but i cant get it to work http://jsfiddle.net/dhkCa/3 Why wont it work?
Edit: Fixed a little error in the css code. Jsfiddle link updated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
document
包含其自身内的所有元素,其高度是所有这些元素的高度之和(无论如何,所有display:block
元素,加上边距和填充);因此,包含的元素不能高于文档本身。您需要做的是比较窗口
的高度,而不是文档的高度:JS Fiddle 演示。
The
document
's contains all the elements within itself, and its height is a sum of the heights of all those elements (all thedisplay:block
elements anyway, plus margin and padding); therefore no contained element can be taller than the document itself. What you need to do is compare thewindow
's height, not the document's:JS Fiddle demo.
对于滚动高度与文档滚动高度不同的元素,您可以使用
element.getBoundingClientRect().height
(文档)。For an element that has a scroll height that's different than the document's scroll height, you can use
element.getBoundingClientRect().height
(Docs).我建议使用
.outerHeight()
,因为.height()
不会查看元素的填充。I would suggest to use
.outerHeight()
, since.height()
doesn't look at the padding of an element.