4

我将视口标签设置为 480 像素,因此在 iPhone(纵向模式)中,网站的真实尺寸为:

  1. 顶部栏可见时为 480x534 像素
  2. 隐藏顶栏时为 480x594px

然而,jQuery(window).height()并且总是返回 480x534px window.innerHeight,当试图将容器放在当前内容(弹出窗口)之上jQuery(window).InnerHeight()时,这会在网站底部产生 60px 的间隙。height: 100%; width: 100%;

这已被报告为 jQuery 错误(和 iPhone 错误),但有什么解决方法吗?

4

2 回答 2

1

当页面在 iPhone 上加载时,顶部栏会出现。
这就是为什么$(window).height()会返回较小窗口的实际大小。
在顶部栏向上滑动一段时间后,窗口大小会发生变化。
因此您可以向(window).height()表示顶部栏大小的常量添加一个常量,或者连接$(window).resize()事件以在顶部面板消失后检索实际大小。

于 2012-05-12T07:56:54.040 回答
1

请务必使用外部高度而不是内部高度。不幸的是,jQuery$(window).outerHeight()不适用于窗口(它返回与 相同$(window).height())和文档元素,因此您必须使用纯 JavaScript 执行此操作,如下所示:

(typeof window.outerHeight != 'undefined')?Math.max(window.outerHeight, $(window).height()):$(window).height()
于 2014-07-18T10:42:57.907 回答