为什么$(window).height()这么错?

mix*_*mix 19 jquery

我正在尝试使用获取当前浏览器视口高度

$(window).on('resize',function() { 
  console.log("new height is: "+$(window).height()); 
});
Run Code Online (Sandbox Code Playgroud)

但我得到的价值太低了.当视口大约850px高时,我从高度()获得大约350或400px的值.这是怎么回事?

示例:http://jsfiddle.net/forgetcolor/SVqx9/

小智 45

我在Firefox中遇到了同样的问题然后我添加<!DOCTYPE HTML>了我的索引并且它有效.

资料来源:http://viralpatel.net/blogs/jquery-window-height-incorrect/

  • 你先生救了我的一天:D! (9认同)

The*_*art 10

一个可能的原因可能是您正在使用firebug /其他东西检查控制台.因此,由于萤火虫的高度,你的窗户高度不正确.

你可以尝试这样的事情:

在你的文档中取一个span/div:

<span id="res"></span>
Run Code Online (Sandbox Code Playgroud)

然后

$(window).on('resize',function() { 
  $('#res').html("new height is: "+$(window).height()); 
});
Run Code Online (Sandbox Code Playgroud)

或者,如果您想检查放入firebug控制台,然后将其从浏览器中分离,然后检查结果.


ob.*_*ann 5

对于那些在上述解决方案后仍然有问题的人......

请检查浏览器在您的 project.html 上的查看比例..

调整视图比例时,$(window).height() 的值与客户区的“真实”像素不同!(以及其他 $(xx).width()...在这种情况下)

(浏览器记得我前几天粗心调整的110%比例……)