【问题标题】:Execute function if document is taller than viewport如果文档高于视口,则执行函数
【发布时间】:2012-12-23 06:50:05
【问题描述】:
这是我遇到的一些非常奇怪的行为。我只想在文档高于视口时执行一个函数(即它溢出并出现滚动条)。我使用此代码:
var docH = $("document").height(),
viewPortH = $("window").height();
if (docH > viewPortH) {
// execute functions
}
但是什么也没发生,控制台返回:
未捕获的类型错误:无法读取 null 的属性“父级”
有谁知道问题出在哪里/我应该使用什么代码来查看文档是否高于视口?
【问题讨论】:
标签:
jquery
height
document
viewport
【解决方案1】:
document 和 window 是对象而不是选择器。
var docH = $(document).height(),
viewPortH = $(window).height();
【解决方案2】:
document 和 window 周围不需要引号。
var docH = $(document).height(),
viewPortH = $(window).height();
if (docH > viewPortH) {
// execute functions
}
Example fiddle
加上引号后,jQuery 实际上是在 DOM 中寻找像 <document /> 和 <window /> 这样的元素。
【解决方案3】:
尝试像这样使用文档和窗口:
var docH = $(document).height(),
viewPortH = $(window).height();