我正在对$(window).height()做一个简单的测试,我的屏幕分辨率为1366 x 768,得到2602的值.
jQuery(document).ready(function($){
var W = $(window).width();
var H = $(window).height();
console.log('W ' + W);
console.log('H ' + H);
}
Run Code Online (Sandbox Code Playgroud)
输出:
W 1226 H 2602
有关如何调试此错误或我做错了什么的提示?
编辑:使用铬和FF
我在控制台中输入这个:jQuery(window).height();
这可以像缺少或不正确的DOCTYPE一样简单(受影响的Chrome但不是IE).
有趣的是,这甚至不是一个jQuery问题 - 它document.documentElement.clientHeight也会影响.
没有doctype:
使用doctype:
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

我以为我的页面上有一个布局模板,但事实证明我没有 - 因此没有DOCTYPE.
你做的一切都是正确的,而你却没有得到应有的价值.这不是jQuery应该如何表现的.
在这个页面中,我测试了你正在调用的函数,看看它们的值是什么.它们确实准确地表示了我窗口中可见页面的实际宽度和高度.这是结果.


jQuery $(window).height()应该显示可见的视口.查看有关jQuery高度函数的文档:
此方法还能够找到窗口和文档的高度.
Run Code Online (Sandbox Code Playgroud)$(window).height(); // returns height of browser viewport $(document).height(); // returns height of HTML document
window.height事物可以干扰的可设定值,但$(window).height()不受其变化的影响.
无论发生什么,无论你调用什么函数,你都不会调用jQuery的实现$(window).height().
使用浏览器的开发人员控制台,在您调用的行上放置一个断点$(window).height()并进入函数调用.你打电话时实际上叫$(window).height()什么?你需要找到它.
对我的强烈怀疑是,你正在使用的代码库的某些部分已经完成了:
// Replace jQuery's height function with a better one to fix bug XYZ
$(window).height = function brandNewHeightFunction() {
return someVeryWrongValue;
};
Run Code Online (Sandbox Code Playgroud)
如果是这样,当你进入高度函数时,它实际上可能不会进入jQuery库的一部分,而是进入你自己的库的另一部分.找出必要的东西,看看你能做些什么.如果你只是删除这个功能,其他东西取决于它以这种方式工作可能会开始打破.
检查是否发生了这种情况,无论你能做什么,以及你有哪些历史工具.你使用的是什么版本的jQuery?如果可能的话,从jQuery站点下载相同的代码,并看到当你进入窗口高度函数时看到的代码与你在那里看到的相同.
重新下载jQuery并引用它.如果你的窗户高度功能突然开始工作,有人可能已经这样做了.找出为什么这是定制的.如果你修复它,取决于这种行为的其他东西可能会开始破坏.
实际上,这是我的页面上隐藏的 div 元素的结果。我有一个厚盒链接可以拉出这个隐藏的内容。删除这个修复了 jQuery.width()!
令人惊讶的是,不确定是否有帮助,但确实是答案。
| 归档时间: |
|
| 查看次数: |
5382 次 |
| 最近记录: |