#php #javascript #form #fancybox #всплывающее_окно
Есть форма:Подскажите плз, как после отправки формы открыть окно с блоком
на
5-10 секунд и пропадало, планирую сделать на fancybox
Планирую использовать:
$('#send').submit(function(e) {
$.fancybox({
href: '#thx',
modal: true
});
return false;
});
Но открытие так и не происходит....
Решил сам: в конце php функции добавил код sleep(5); а скрипт такой: $('.send').click(function() { $.ajax({ type: $(this).attr('method'), url: $(this).attr('action'), data: $(this).serialize('#contact'), success: function(data) { $.fancybox({ href: '#thx', openEffect: 'elastic', closeEffect: 'elastic', afterLoad: function() { setTimeout(function() { parent.$.fancybox.close({ closeEffect: 'elastic' }); }, 3000); } }); } }); }); может кому пригодится....
Ответы
UPDATE $('.send').click(function() { var timeout = 5000; $.fancybox({ href: '#thx', openEffect: 'elastic', closeEffect: 'elastic' }); SetTimeout("parent.$.fancybox.close({ href: '#thx' });", timeout); setTimeout(function() { $.ajax({ type: $(this).attr('method'), url: $(this).attr('action'), data: $(this).serialize('#contact'), success: function(response) { console.log(response) }, }); }, timeout); });Ответ 1
Document
Ответ 2
Решил сам: в конце php функции добавил код sleep(5); а скрипт такой: $('.send').click(function() { $.ajax({ type: $(this).attr('method'), url: $(this).attr('action'), data: $(this).serialize('#contact'), success: function(data) { $.fancybox({ href: '#thx', openEffect: 'elastic', closeEffect: 'elastic', afterLoad: function() { setTimeout(function() { parent.$.fancybox.close({ closeEffect: 'elastic' }); }, 3000); } }); } }); }); может кому пригодится....
Комментариев нет:
Отправить комментарий