#jquery-ui
#jquery-пользовательский интерфейс
Вопрос:
Прямо сейчас у меня есть веб-сайт, который кто-то создал для меня, и, к сожалению, я застрял. Я немного понимаю, но остаюсь полным новичком. У меня есть картинки, которые я хочу для всплывающего окна, но всякий раз, когда я устанавливаю высоту и ширину на ‘auto’, поле располагается внизу страницы?
Мне нужно, чтобы он также автоматически центрировался при изменении размера, если это возможно.
Кто-нибудь, пожалуйста, помогите мне воссоздать мой код? Спасибо.
<script type="text/javascript">
function openDialog(url) {
$("<div class='popupDialog'></div>").load(url)
.dialog({
autoOpen: true,
closeOnEscape: true,
height: '1012',
modal: true,
position: ['center', 'center'],
title: 'About Ricky',
width: 690
}).bind('dialogclose', function() {
jdialog.dialog('destroy');
});
}
</script>
Ответ №1:
Проблема, с которой вы сталкиваетесь, заключается в том, что при открытии диалогового окна оно пустое, а позиция вычисляется. Затем вы загружаете содержимое, и оно автоматически не пересчитывает новое положение центра. Вам нужно сделать это самостоятельно в обработчике событий onComplete. Смотрите ниже, я также вставил несколько хороших загрузочных текстов 🙂
<script type="text/javascript">
function openDialog(url) {
$("<div class='popupDialog'>Loading...</div>")
.dialog({
autoOpen: true,
closeOnEscape: true,
height: '1012',
modal: true,
position: ['center', 'center'],
title: 'About Ricky',
width: 690
}).bind('dialogclose', function() {
jdialog.dialog('destroy');
}).load(url, function() {
$(this).dialog("option", "position", ['center', 'center'] );
});
}
$(window).resize(function() {
$(".ui-dialog-content").dialog("option", "position", ['center', 'center']);
});
</script>
Комментарии:
1. Большое тебе спасибо, Дин! Я понятия не имею, о чем вы говорите, но это сработало отлично. (:
2. Не могли бы вы также помочь мне добавить строку для автоматического центра при изменении размера браузера?
3. Обновил мой ответ, включив центрирование изменения размера браузера.
4. Вы указали фиксированную ширину и высоту при инициализации диалогового окна, поэтому вам действительно не нужно выполнять позиционирование при обратном вызове вашего
load()
…