JavaScript中调整模态窗口大小

4

我正在尝试当某些项目被隐藏或显示时,调整我的模态对话框窗口大小。

window.resizeTo(800, 600);

我尝试使用类似上面的代码,但似乎没有起作用。我认为这是因为它是一个模态对话框,而不是常规窗口。有什么建议可以调整大小吗?


编辑:这不是一个关于调整大小的jQuery模态问题的副本。上面的问题和标签没有列出正在使用的jQuery。 - RSolberg
正确,没有使用jQuery。 - matthew_360
2个回答

7

如果你想要在模态对话框窗口内部调整窗口大小,你可能会尝试使用JavaScript的window.resizeTo()或window.resizeBy()方法。

然而,这些方法并不起作用。相反,请使用以下方法:

window.dialogWidth='640px';
window.dialogHeight='480px';

附言: Rsolberg:海报确实说了模态对话框窗口。那似乎是我描述的方式。我不确定它是否与jQuery相关。为了避免混淆,我会删除jQuery答案。


3
您需要确定元素或容器的ID,并执行以下操作:
document.getElementById('MyModal').style.height = '500px';
document.getElementById('MyModal').style.width = '800px';

如果您正在使用jQuery,那么可以更加容易地将其附加到实际的显示模态框函数上。

编辑
在上面的JavaScript函数中,MyModal将是容器或模态框的ID。例如,如果您正在使用DIV作为模态框的外部元素,则应像这样设置DIV:

<div id='MyModal' class="IFNEEDED">CONTENTS OF MODEL</div>

编辑 #2
由于这不是大多数人今天所描述的“模态”,而更像是一个新窗口弹出,这行代码应该适用于您(在这里找到):

window.open('http://www.pageresource.com/jscript/jex5.htm','mywindow','width=400,height=200')

这看起来正是我所需要的。但是,在页面上'MyModal'会在哪里设置? - matthew_360
感谢R的回答,但我觉得也许我没有完全描述清楚我的情况。我使用showModalDialog打开模态框,在该对话框中打开了不同的aspx页面。我已经尝试通过页面标题和其他几个方式来访问它,但似乎都没有起作用。谢谢你的帮助! - matthew_360
当你说“modal”时,它是被添加到当前网页的图层,还是你只是打开一个全新的网页?这像弹出窗口吗? - RSolberg
这是一个弹出窗口。在模态对话框中打开了同一网站的不同页面,作为一个表单来编辑在父页面上显示的网格视图中的值。 - matthew_360
我添加了更多的信息。如果有帮助,请告诉我。 - RSolberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接