тема давняя, но решил ответить может кому понадобится. Сам начинающий Junior, так что АТЦЫ по голове не бейте ногами...
при аякс запросе вызывал GIF прелоадер в fancybox, действительно запрос вернулся ,а fancybox ещё не успевал открыться поэтому не закрывался с помощью $.fancybox.close(); Решил проблему так:
$.fancybox('<div style="width:100px"><img id="gif-img" src="ajax-loader.gif"/></div>',{
'transitionIn' :'none',
'transitionOut' :'none',
'modal' :true,
'scrolling' :'no',
'centerOnScroll':true
});
$.post(ajaxurl, data, function(data){
var idInterval = setInterval(function(){
$.fancybox.close();
if($('#gif-img').length == 0){
clearInterval(idInterval);
}
}, 100);
});