Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dojo dijit.dialog-动态大小的dijit.dialog未居中_Dojo - Fatal编程技术网

Dojo dijit.dialog-动态大小的dijit.dialog未居中

Dojo dijit.dialog-动态大小的dijit.dialog未居中,dojo,Dojo,我对digit.dialog的正确大小和位置有问题 我使用dijit.dialog的内置逻辑来确定对话框的宽度和位置,因为它的内容可以是任意大小。此外,需要通过href标记设置对话框内容。如果以300px的宽度启动浏览器窗口,则对话框的右侧会一直向右。只要我手动将浏览器调整为全宽,然后缩小它,它就会调整位置。有时它得到的是正确的,但并不一致 如何正确获取digit.dialog,以便在首次加载时正确显示其内容 请看plunkr: 您的内容需要有一个固定的大小。否则,将使用内部尺寸计算位置,该尺寸

我对digit.dialog的正确大小和位置有问题

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

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

请看plunkr:


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

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


但这是非常丑陋的。你应该考虑给出一个宽度的内容

谢谢你的回复。第二种方法有效。给模态一个固定的宽度或任何类型的宽度似乎都不能解决初始载荷的响应定位问题。我需要该对话框以800px w显示,但如果视口为400px,则也能够正确渲染。是否尝试使用“最小宽度”和“最大宽度”播放?如果使用宽度=80%,会怎么样?我尝试了最大宽度、最小宽度和宽度,但没有成功。我还要提到,只有在使用ajax(href)加载内容时才会发生这种情况。如果以内联方式加载内容,则一切正常。
new dijit.Dialog({ 
     id: "modal",
     href: "modal.html 
});
dialog.show().then(function() {
    dialog.resize();
    dialog.resize();
    dialog.resize();
    dialog.resize();
    dialog.resize();                             
});