2011-10-31 40 views
1

我有一个正常运作的片段如下...JQuery用户界面对话框定位中心父

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" }); 
}; 

不管我迄今尝试过,该对话框始终显示了在浏览器的左上角...

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

我也想包静态宽度&高度并将其自动调整大小以加载远程内容的大小,但这些选择似乎并没有提前

感谢工作如预期要么...。

+0

必须在你的CSS的东西。 – samura

+0

你是否设法解决这个问题? – Milox

回答

1

好的解决了。

您需要在对话框中这样调用:

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

所以这样它被添加到母体文件,再返回到正常位置。

0

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

0

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

position: {my: "center", at: "center", of: window.top} 
相关问题