2010-11-18 2 views
1

Как открыть второе всплывающее окно при первом всплывающем закрытии события?jQuery SimpleModal Popup: Как открыть второе всплывающее окно при первом всплывающем закрытии события?

Если я открываю второе модальное всплывающее окно на первое модального всплывающего события -

$divFirstPopup.modal({ 
    onClose: function(dialog) { 
     $.modal.close(); 
     $.modal('#divSecondPopup'); 
    } 
}); 

Но второе всплывающее окно не появляется. Может ли кто-нибудь помочь в этом?

ответ

2

Я думаю, это потому, что:

$.modal('selector'); 

не работает только это должно работать:

$.modal($('selector')); 
+0

С близкого нажатия кнопки события в Popup разметкой, я звоню $ .modal.close(); в явном виде. –

+0

Хорошо отредактированный ответ соответственно –

+0

спасибо marcus за помощь –

0

Для этого нужно открыть второе всплывающее окно после закрытия первого, который принимает около 2 сек. Таким образом, если вы используете функцию settimeout() и вызываете второй поп, предоставляя задержку в 2 секунды или больше этого. Это будет работать. Поскольку это неправильный способ сделать это. Но это действительно работает для меня.

Я использую простой модальных JQuery плагин: Вот код:

$('#forgot_password_modal').click(function (e) { 
    $.modal.close(); // this is written to close all the popups. 
    setTimeout(function(){ 
     $('#forgot_password_form').modal({ //to open a second popup 
      minHeight:570, 
      minWidth:600, 
      maxWidth:671, 
      opacity: 90, 
     onOpen: function(dialog) { 
       dialog.overlay.fadeIn('slow', function() { 
        dialog.data.hide(); 
        dialog.container.fadeIn('slow', function() { 
         dialog.data.slideDown('slow'); 

        }); 
       }); 
      }, 
      onClose: function(dialog) { 
       dialog.data.fadeOut('slow', function() { 
        dialog.container.slideUp('slow', function() { 
         dialog.overlay.fadeOut('slow', function() { 
          $.modal.close(); // must call this! 
         }); 
        }); 
       }); 
      }}); 
    }, 2000);  
     return false; 
    });