Jquery移动面板内容高度?

Jquery移动面板内容高度?,jquery,jquery-mobile,Jquery,Jquery Mobile,我正在使用jquery mobile和mvc4动态构建面板内部的列表视图 1) 我们的第一个要求是面板应位于标题下方。下面的代码工作得很好 $(document).on("panelbeforeopen", function (event, ui) { var header = $('[data-role=header]').outerHeight(); var panel = $('.ui-panel').height(); var panelheight = panel - he

我正在使用jquery mobile和mvc4动态构建面板内部的列表视图

1) 我们的第一个要求是面板应位于标题下方。下面的代码工作得很好

$(document).on("panelbeforeopen", function (event, ui) {
  var header = $('[data-role=header]').outerHeight();
  var panel = $('.ui-panel').height();
  var panelheight = panel - header;

  $('.ui-panel').css({
    'top': header,
    'min-height': panelheight
  });

});
2) 下一个要求是,面板高度应取决于面板内部li的数量。例如,如果面板中有2 li,则最大高度应等于2 li,底部不应有任何空面

请引导我

1) 我试过下面的代码

$(document).on("panelbeforeopen", function (event, ui) {

  var header = 50;
  var panel = $('.ui-panel').height();
  var panelheight = panel - header;
  var Uiinnes = $('.ui-panel-inner').height();

  $('.ui-panel').css({
    'top': header,
    'min-height': panelheight,
    'max-height' : Uiinnes
  });

});

在Uiinnes中获得价值,我将其指定为“最大高度”,但没有任何用处。

我发现这很有效

//set panel to display below the header and height to listview height
var header = $('[data-role=header]').outerHeight();
var panel = $('.ui-panel').height();
var panelheight = panel - header;
var lVHeight = $('#panelListView').height();

$('.ui-panel').css({
    'top': header,
    'min-height': lVHeight-21,
    'max-height' : lVHeight-21
});
不确定为什么$(“#panelListView”).height();返回的时间比实际的列表视图长,但减去21后效果良好。可能有底边


BGecko

如果listview比view port短,面板将看起来很难看。如果较长,则会导致页面滚动。编辑:我很高兴为你工作;)@奥马尔:是的,伙计。你救了我。但它的客户要求。因此没有选项。然后执行相同的操作,var listview=$(“.listview”,this.outerHeight()$css({“height”:listview})`@奥马尔:我试过了,但没用。然后我尝试了下面的代码。var头=50;变量面板=$('.ui面板').height();var panelheight=面板-标题;var Uiinnes=$('.ui面板内部').height()$(“.ui面板”).css({'top':标题,“最小高度”:面板高度,“最大高度”:Uiinnes我在Uiinnes中得到值,但高度没有变化。面板仍然占据了整个窗口的高度。@Omar为了清晰起见,请参阅我更新的帖子。带有列表视图的弹出窗口执行非常类似的操作。实际上,我更改了代码以使用它。