dijit.dialog - 动态大小的dijit.Dialog不居中

时间:2015-06-27 00:36:44

标签: dojo

我在使用digit.dialog的正确大小和位置方面遇到了问题。

我使用dijit.dialog的内置逻辑来确定对话框的宽度和位置,因为它的内容可以是任何大小。此外,需要通过href标记设置对话框内容。如果我以300px宽度启动浏览器窗口,则对话框的右侧一直向右。一旦我手动将浏览器调整到全宽,然后缩小它,它就会调整位置。有时它会正确地得到它,但它并不一致。

如何正确获取digit.dialog,以便在第一次加载时正确显示内容?

请查看plunkr:http://plnkr.co/edit/FLO1VFWX2LbZeZAZuhYm?p=preview

new dijit.Dialog({ 
     id: "modal",
     href: "modal.html 
});

1 个答案:

答案 0 :(得分:1)

您的内容需要有固定的尺寸。否则,使用内部尺寸计算位置,该尺寸在尺寸调整后不再相关。 基本上,在重新调整大小时,使用之前的宽度计算位置。

通过多次调用resize方法,对话框将调整其位置(一种二进制搜索最佳位置/大小)

dialog.show().then(function() {
    dialog.resize();
    dialog.resize();
    dialog.resize();
    dialog.resize();
    dialog.resize();                             
});

http://plnkr.co/edit/bhhAZlYOE6kIduxOX8cn?p=preview

但这非常难看。你应该考虑给出内容的宽度

相关问题