使用Jquery设置Min Height以避免移动问题

时间:2016-06-21 19:05:35

标签: javascript jquery css mobile viewport

我不知道这是否可行,但我希望改变这个工作功能,以便不是将我的“.nav_menu”div的高度设置为视口的一半,而是设置最小高度。

var menu = jQuery(".nav_menu");
  jQuery(window).resize("resizeMenu");
  function resizeMenu() {
    menu.height(jQuery(window).height() / 2);
  }
resizeMenu();

现在我不想做这样的事情......

$('.nav_menu').css("min-height", "50vh");

或者直接在css中执行此操作,是因为高度重新计算问题会在地址栏隐藏时显示在移动设备上。上面的函数绕过了这个问题,但设置为使用高度,而不是min-height。

最终我的目标是能够将VH或%单位值用于元素的最小高度,而不会在Android上创建问题,当您从顶部滚动并且浏览器地址栏隐藏时,它会重新计算视口大小,从而更改%或VH单位的输出值。所以任何解决方案都非常感谢!

1 个答案:

答案 0 :(得分:0)

在功能内进行检查可以解决问题吗?这就是为什么你不设置元素的高度,除非需要它,这基本上是min-height样式的作用。类似的东西:

var menu = jQuery(".nav_menu");
jQuery(window).resize("resizeMenu");
function resizeMenu() {
    var windowHeight = jQuery(window).height();
    if (menu.height < windowHeight / 2){
        menu.height( windowHeight / 2);
    }
}
resizeMenu();