【问题标题】: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】:

    documentwindow 是对象而不是选择器。

    var docH = $(document).height(),
        viewPortH = $(window).height();
    

    【讨论】:

      【解决方案2】:

      documentwindow 周围不需要引号。

      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();

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-12-29
          • 2014-05-30
          • 2011-11-26
          • 1970-01-01
          • 2013-09-19
          • 2019-03-08
          • 2011-05-19
          • 1970-01-01
          相关资源
          最近更新 更多