父级的JQuery UI对话定位中心

时间:2011-10-31 21:42:26

标签: jquery iframe user-interface dialog position

我的功能片段如下......

function LoadTheDialog($url) {
  $dialog = $('<div></div>');
  $dialog.html('<iframe id="theDialog" src="' + $url + '"  width="530px" height="600px" style="border: 0px;"></iframe>');
  $dialog.dialog({ width: 555, modal: true, resizable: false, draggable: false, 
    open: function (type, data) { $($dialog).parent().appendTo("body"); }
  }).dialog('widget').position({ my: "center", at: "center", of: window, collision: "none" }); 
};

无论我到目前为止尝试过什么,对话框总是显示在浏览器的左上角......

我错过了一些明显的东西吗?

我还想把静态宽度和宽度包装起来。高度并将其自动调整为加载的远程内容的大小,但这些选项似乎无法按预期工作...

提前感谢。

3 个答案:

答案 0 :(得分:1)

好的解决了。

你需要像这样打电话给你:

window.parent.jQuery(>>the html or variable of your dialog<<).dialog({ >>the options<<  });

这样它就会被附加到父文档并恢复正常定位。

答案 1 :(得分:0)

您是否尝试过在jQuery UIDialog中设置高度。
我通过将对话框的高度和宽度设置为iFrame的相同来解决问题。

答案 2 :(得分:0)

我使用this solution解决了这个问题:

position: {my: "center", at: "center", of: window.top}