У меня есть всплывающее диалоговое окно JQuery UI, в котором отображается форма. При выборе определенных параметров в форме в форме появятся новые параметры, что приведет к ее увеличению. Это может привести к сценарию, когда главная страница имеет полосу прокрутки, а диалоговое окно JQuery UI имеет полосу прокрутки. Этот сценарий с двумя полосами прокрутки непригляден и сбивает с толку пользователя.
Как сделать так, чтобы диалоговое окно JQuery UI увеличивалось (и, возможно, сжималось), чтобы всегда соответствовать его содержимому, без отображения полосы прокрутки? Я бы предпочел, чтобы была видна только полоса прокрутки на главной странице.
Ответы:
Обновление: начиная с jQuery UI 1.8, рабочее решение (как указано во втором комментарии) должно использовать:
Используйте параметр autoResize: true. Я проиллюстрирую:
Вот рабочий пример: http://jsbin.com/ubowa
источник
Ответ - установить
свойство при создании диалога. Чтобы это работало, вы не можете установить высоту для диалога. Поэтому, если вы установите фиксированную высоту в пикселях для диалогового окна в его методе создателя или с помощью любого стиля, свойство autoResize не будет работать.
источник
Это работает с jQuery UI v1.10.3
источник
Я использовал следующее свойство, которое мне подходит:
источник
Высота поддерживается в автоматическом режиме.
Ширина нет!
Чтобы сделать что-то вроде автоматического, получите размер отображаемого div, а затем установите окно с помощью.
В коде C # ..
источник
Если он вам нужен для работы в IE7, вы не можете использовать недокументированный, ошибочный и неподдерживаемый
{'width':'auto'}
вариант. Вместо этого добавьте в свой.dialog()
:Наличие
.scrollWidth
правого отступа зависит от браузера (Firefox отличается от Chrome), поэтому вы можете добавить субъективное "достаточно хорошее" количество пикселей в.scrollWidth
, либо заменить его собственной функцией расчета ширины.Возможно, вы захотите включить
width: 0
среди своих.dialog()
опций, поскольку этот метод никогда не будет уменьшать ширину, а только увеличивать ее.Протестировано для работы в IE7, IE8, IE9, IE10, IE11, Firefox 30, Chrome 35 и Opera 22.
источник
сделал то, что мне нужно, для изменения ширины диалогового окна.
источник