Чтобы ответить на второй вопрос - как закрыть существующий модал и впоследствии открыть новый - вам нужно сделать три вещи:
- Добавить Persist: true к опции обратного вызова первого модального режима. Согласно веб-сайту Эрика Мартина: «Если true, данные будут поддерживаться во время модальных вызовов, если false, данные будут возвращены в его первоначальное состояние. "
- Добавьте обратный вызов onClose к первому модалу.
- Закройте первый модальный режим перед тем, как запустить функцию, чтобы открыть второй модальный режим.
Итак, когда вы закрываете модальное с помощью $. Modal.close () , onClose будет работать, вызывая анимацию и закрывая модальное. Поскольку persist имеет значение true, следующая функция будет сохранена . Ваша функция сработает, и ваш второй модал откроется.
$("#first_modal").modal({
containerId: 'modal_id',
persist: true,
onClose: function (dialog) {
dialog.container.fadeOut(100, function () {
dialog.overlay.fadeOut(200, function(){
$.modal.close();
showSecondModal();
});
});
}
});