以百分比定义maxHeight的jquery对话框

时间:2013-04-02 08:50:42

标签: jquery jquery-ui jquery-ui-dialog

我创建了一个小项目,我必须在其中显示一个模式对话框,我已经使用了jquery-ui对话框。

我想以百分比定义对话框的最大高度。我尝试了几件事,但没有一件是有效的。

请有人帮助我解决可能的问题。

请参阅http://jsbin.com/otiley/1/edit

非常感谢

3 个答案:

答案 0 :(得分:14)

尝试使用this链接设置高度百分比。

$(document).ready(function() {
$('#testColorBox').click(function() {
    var wWidth = $(window).width();
    var dWidth = wWidth * 0.8;
    var wHeight = $(window).height();
    var dHeight = wHeight * 0.8;
    var $link = $(this);
    var $dialog = $('<div></div>')
        .load('test.html')
        .dialog({
            autoOpen: false,
            modal: true,
            title: $link.attr('title'),
            overlay: { opacity: 0.1, background: "black" },
            width: dWidth,
            height: dHeight,
            draggable: false,
                            resizable: false
        });
    $dialog.dialog('open');
    return false;
  });   
});

答案 1 :(得分:6)

jQuery UI仅允许您以像素为单位表示最大高度。您需要在代码中按百分比执行计算。

$(document).ready(function(){
  $( "#dialog-modal" ).html($("#temp").html());
  $("div#dialog-modal").dialog({
      height: "auto",
    maxHeight: $("div#dialog-modal").outerHeight() * .2,
      resizable: false,
      width: "70%",
      modal: true,
      title: "Hello"
  });
});

答案 2 :(得分:3)

您可以通过检查某个div的窗口高度或高度来执行此操作。

以下是一个示例:http://jsbin.com/otiley/4/edit

或者:

    $(document).ready(function(){
   var height = $(window).height();
   height = height*0.20;
  $( "#dialog-modal" ).html($("#temp").html());
  $("div#dialog-modal").dialog({
      height: "auto",
      maxHeight: height,
      resizable: false,
      width: "70%",
      modal: true,
      title: "Hello"
  });
});

您可以获取任何div的高度并计算任何所需的百分比。