我在一个对话框上附加一个页脚,如何修复高度?

时间:2012-07-13 16:59:34

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

我在jquery ui对话框中附加了一个页脚,页脚样式就像标题一样,它固定在底部,所以如果有滚动内容,底部的页脚就不会移动。< / p>

问题是,对话框自动计算的高度是错误的,因为我将页脚html附加到对话框,我猜这是在它计算高度之后,因此页脚在文本内容的前面

所以我在做:

var footer = "<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" ... ";

$("#popup").dialog({
   modal: true,
   autoOpen: false,
   auto: true
}).parent().append(footer);

// if condition here
$("#popup").dialog("open");

所以我复制了标题对我的页脚的样式。

在chrome / firefox中,我将此选项添加到对话框中,该对话框将hhight调整了20px,修复了我的问题:

$("#popup").dialog({
 modal: true,
 autoOpen: false,
 auto: true,
 open = function() {
   $("#popup").css('height', $("#popup").height() + 20);
  }

});

理想情况下,我想在计算高度之前将页脚内容添加到对话框中,或以某种方式告诉它重新计算高度。

问题是,调用.dialog是将所有html / css /样式添加到元素#popup的内容,并且在调用(计算高度)之后,我链接了追加调用,但到那时为时已晚。

我能以某种方式解决这个问题吗?同样,它必须在IE中工作

1 个答案:

答案 0 :(得分:3)

使用create方法代替open。当我这样做时,这对我来说在Chrome&amp; IE 7 - 9。

示例 - http://jsfiddle.net/tj_vantoll/PUttC/