我在beforeSend ajax事件中使用slideUp和slideDown工作正常是firefox,但在其他浏览器中,ajax回发似乎在slideUpDown完成之前完成,所以先执行我的成功函数,然后执行slideUp / Down。
如何将其更改为(1)在完成slideUp / Down之前不发送ajax或(2)在slideUp / Down完成之前不处理成功函数中的结果?
我尝试创建一个isAnimationFinished变量,该变量在slideDown完成时设置,并且在成功时,我有一个空的while循环等待这个变量,但是如果我尝试这个,我会收到关于脚本运行缓慢的错误。 / p>
答案 0 :(得分:2)
没有看到你的代码,我不确定每个函数在做什么。我最初的想法是将滑动函数与ajax调用分开,以便ajax函数仅在滑动函数完成后运行。
如果这不合适,请发布一些我们可以解决的代码。谢谢!
答案 1 :(得分:0)
$.ajax({
url: pageurl + "?data-role=button",
beforeSend: function(){
console.log('beforesend');
animationBeforesend(); // loading bar
},
complete: function(){
console.log('Compelete');
},
success: function (data) {
var totalTime = new Date().getTime()-ajaxTime;
console.log(totalTime + ' micro second page loading time');
console.log('Success');
console.log($('#progressbar').attr('value'));
$(".Sitecontainer").html(data);
loadFunction(); // loading bar HIDE
}
});