Изменение размера модального окна в Javascript

Я пытаюсь изменить размер моего модального диалогового окна, когда определенные элементы скрыты/показаны.

window.resizeTo(800, 600);

Я пробовал использовать код, как указано выше, но, похоже, он не работает. Я думаю потому что это модальный диалог, а не обычное окно. Любые предложения относительно того, как я могу изменить размер этого?


person matthew_360    schedule 01.05.2009    source источник
comment
Отредактировано: это не дубликат модального вопроса об изменении размера jQuery. Приведенный выше вопрос и теги не указывают jQuery как используемый элемент.   -  person RSolberg    schedule 01.05.2009
comment
правильно, jQuery не используется.   -  person matthew_360    schedule 02.05.2009


Ответы (2)


Вы захотите определить идентификатор элемента или контейнера и сделать что-то вроде этого:

document.getElementById('MyModal').style.height = '500px';
document.getElementById('MyModal').style.width = '800px';

Если вы используете jQuery для этого, это может быть немного проще, поскольку вы можете прикрепить его к фактической модальной функции show.

Изменить
В приведенных выше функциях javascript MyModal будет идентификатором контейнера или модального окна. Например, если вы используете 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')
person RSolberg    schedule 01.05.2009
comment
Это похоже именно то, что мне нужно. Однако где на странице будет установлен «MyModal»? - person matthew_360; 01.05.2009
comment
Спасибо R, но я думаю, что, возможно, я не полностью описываю свой сценарий. Я открываю модальное окно с помощью showModalDialog, и в этом диалоговом окне открывается другая страница aspx. Я пытался получить к нему доступ через заголовок страницы и пару других вещей, но это, похоже, не сработало. Спасибо за помощь! - person matthew_360; 01.05.2009
comment
Когда вы говорите модальный, это слой, добавляемый к текущей веб-странице, или вы буквально просто открываете новую веб-страницу вместе? Это как всплывающее окно? - person RSolberg; 02.05.2009
comment
это всплывающее окно. Другая страница с того же веб-сайта открывается в модальном диалоговом окне, чтобы действовать как форма для редактирования значений, отображаемых в представлении сетки на родительской странице. - person matthew_360; 02.05.2009
comment
Я добавил немного больше информации. Дайте мне знать, поможет ли это вообще. - person RSolberg; 02.05.2009

Если вы пытаетесь изменить размер модального диалогового окна из самого окна, у вас может возникнуть соблазн использовать javascript window.resizeTo() или window.resizeBy().

Однако они не будут работать. Вместо этого используйте:

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

P.S. Рсольберг: На плакате было написано модальное диалоговое окно. Это похоже на то, как я бы это описал. Я не уверен, что это можно интерпретировать как связанное с jQuery. Я бы удалил ответ jQuery, чтобы избежать путаницы.

person Josh Mouch    schedule 13.07.2011