Я понимаю, что этот вопрос задавался несколько раз в нескольких различных формах , но я не могу заставить его работать должным образом для моей жизни.
У меня есть два DIV на моей странице, которые используются для модов, ids signup-popup и login-popup. Каждая из них имеет свои собственные кнопки закрытия с классом simplemodal-close и показывает / закрывает каждую из них по своему усмотрению.
Я хочу добавить кнопку в модал регистрации, которая закрывает ее и открывает модал входа в систему. Я следовал инструкциям, которые дал Эрик в первой ссылке выше, которую я включил ниже:
$('a#ask').click(function(){
$('#modal-contact').modal({onShow: function (dialog) {
// handle the close yourself.
// Don't use the closeClass on this element
// call $.modal.close(); when you are done
// call a function to open a new modal
});
return false;
});
Однако это не работает; модальное окно регистрации закрывается, а модальное имя входа - нет. Вот мой код (с использованием noConflict, следовательно, использование jQuery () вместо $ ()):
jQuery(function (jQuery) {
jQuery('#btn-signup-open').click(function () {
jQuery('#signup-popup').modal({onShow: function (dialog) {
jQuery('#login-from-signup').click(function () {
jQuery.modal.close();
jQuery('#login-popup').modal();
})
}});
return false;
});
});
И я также попробовал следующее вместо этого, полагая, что это было проще и понятнее, однако результат был тем же (модал регистрации закрывается, модал входа не закрывается, обычная кнопка закрытия и отправка формы работает нормально):
jQuery(function (jQuery) {
jQuery('#login-from-signup').click(function () {
jQuery.modal.close();
jQuery('#login-popup').modal();
return false;
});
});
Я попробовал другое предложение Эрика, которое состояло в том, чтобы просто заменить содержание мода. Это работает, но кажется хак-у, потому что мне приходится вручную связывать кнопку закрытия (не так уж и сложно), а модальное окно не изменяет размеры автоматически при уменьшении формы входа. Хотя это работает, похоже, что должен быть лучший способ сделать это (в частности, код, который у меня есть выше, или некоторые незначительные изменения).
jQuery(function (jQuery) {
jQuery('#login-from-signup').click(function () {
jQuery('.simplemodal-wrap').html('<div class="popup simplemodal-data" id="login-popup" style="display: block;">'+jQuery("#login-popup").html()+'</div>');
jQuery('.simplemodal-close').click(function() {jQuery.modal.close(); return false;});
return false;
});
});