Javascript 如何在函数运行时显示div

Javascript 如何在函数运行时显示div,javascript,Javascript,我希望我的页面在函数运行时显示加载程序。 我怎样才能做到这一点 我试过了 function myfunc(){ $("#validate-animation").fadeIn(100); //my code $("#validate-animation").fadeOut(100); 但是动画甚至不显示,因为ajax代码是异步的,淡出实际上发生在ajax启动之前,即使淡出的语句发生在ajax启动之后 为了确保fadeout仅在ajax完成后启动,您必须将

我希望我的页面在函数运行时显示加载程序。
我怎样才能做到这一点

我试过了

function myfunc(){
$("#validate-animation").fadeIn(100);
//my code
$("#validate-animation").fadeOut(100);

但是动画甚至不显示

,因为ajax代码是异步的,
淡出
实际上发生在ajax启动之前,即使
淡出
的语句发生在ajax启动之后

为了确保
fadeout
仅在ajax完成后启动,您必须将其放入
ajax
的回调中,或者放入可以链接到ajax请求的
done
回调中:

$("#validate-animation").fadeIn(100);                      // start the animation

// form validation

$.ajax({                                                   // make the ajax request
  /* ... */
}).done(function() {                                       // and only when ajax is done
  $("#validate-animation").fadeOut(100);                   // stop the animation
});

由于ajax代码是异步的,
fadeout
实际上发生在ajax启动之前,即使
fadeout
语句发生在ajax启动之后

为了确保
fadeout
仅在ajax完成后启动,您必须将其放入
ajax
的回调中,或者放入可以链接到ajax请求的
done
回调中:

$("#validate-animation").fadeIn(100);                      // start the animation

// form validation

$.ajax({                                                   // make the ajax request
  /* ... */
}).done(function() {                                       // and only when ajax is done
  $("#validate-animation").fadeOut(100);                   // stop the animation
});

你在“我的代码”里做什么?一个大环?网络请求?是同步还是异步?如果中间的代码是同步的,那么你不能看到任何动画,因为UI线程被你的代码阻塞,不会渲染任何更新!如果它是异步的,那么在异步工作开始之前将调用fadeOut。动画将在它消失之前消失starts@ibrahimmahrir我验证表单,并向另一个页面发送ajax请求,在ajax成功函数中放入
fadeOut
。您在“我的代码”中做什么?一个大环?网络请求?是同步还是异步?如果中间的代码是同步的,那么你不能看到任何动画,因为UI线程被你的代码阻塞,不会渲染任何更新!如果它是异步的,那么在异步工作开始之前将调用fadeOut。动画将在它消失之前消失starts@ibrahimmahrir我验证表单,并向另一个页面发送ajax请求,将
fadeOut
放在ajax成功函数中。