0

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

问题是,对话框自动计算的高度是错误的,因为我将页脚 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 中,我将此选项添加到对话框中,该对话框将高度调整了 20px,从而解决了我的问题:

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

});

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

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

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

4

1 回答 1

3

使用create方法而不是open. 当我这样做时,这在 Chrome 和 IE 7-9 中对我来说很好。

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

于 2012-07-13T20:08:32.207 回答