Вы можете активировать второй Fancybox в любое время, независимо от того, есть ли он уже открытый (и не закрывая его первым). Просто попробуйте запустить второй Fancybox, когда действие будет завершено.
Второе окно Fancybox (после его запуска) заменит первое без какой-либо команды закрытия.
function openFancybox() {
setTimeout( function() {$('#delayed').trigger('click'); },10000);
}
$(document).ready(function() {
$('#pageLoad').fancybox({
helpers: {overlay:{opacity: 0.3}}
}).click();
openFancybox();
$('#delayed').fancybox({
helpers: {overlay:{opacity: 0.3}}
});
}); // ready
Я установил пример страницы здесь , которая запускает Fancybox при загрузке страницы, а затем запускает второй Fancybox через 10 секунд.
Первый Fancybox автоматически закрывается после срабатывания второго.
UPDATE
Или, может быть, вы бы предпочли эту версию
function openFancybox() {
setTimeout( function() {$('#delayed').trigger('click'); },10000);
}
$(document).ready(function() {
$('#goProcess').click(function(){
$.fancybox({
href: '#wait',
modal: true,
helpers: {overlay:{opacity: 0.3}},
afterLoad: function() {
openFancybox();
}
}); // fancybox
});
$('#delayed').fancybox({
helpers: {overlay:{opacity: 0.3}}
});
}); // ready
Открывайте fancybox по нажатию кнопки, затем через 10 секунд запускается второй fancybox.
(или после завершения процесса в фоновом режиме.)