Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何编写一个函数(a),当它完成时调用另一个函数(b)?_Javascript_Jquery_Function_Callback - Fatal编程技术网

Javascript 我如何编写一个函数(a),当它完成时调用另一个函数(b)?

Javascript 我如何编写一个函数(a),当它完成时调用另一个函数(b)?,javascript,jquery,function,callback,Javascript,Jquery,Function,Callback,我有一个输入列表(type=“radio”),单击时我正在运行动画,并且在动画运行时禁用输入 如何使此函数在其完成运行后调用另一个函数 function animation(para1, para2, para3, para4) { // calling a function to clear the animation for time before // this gets called when a input is clicked to run a animation

我有一个输入列表(type=“radio”),单击时我正在运行动画,并且在动画运行时禁用输入

如何使此函数在其完成运行后调用另一个函数

function animation(para1, para2, para3, para4) {
   // calling a function to clear the animation for time before
   // this gets called when a input is clicked to run a animation
   // also hides inputs
}
动画完成后,我需要调用另一个函数来重新启用输入


本质上,您可以将一个函数作为参数传递给另一个函数,然后该函数可以执行它

您需要一个回调函数。。。这是回调函数的一个示例

$("button").click(function(){
   $("p").hide("slow", function(){
      alert("The paragraph is now hidden");
   });
});

CSS动画结束时会发生一个事件。CSS动画比jQuery动画更好更快

您可以用CSS编写动画,使用jQuery设置启动动画然后等待动画结束的类

看看如何


或者使用回调,这只是函数参数,已经存在了很长一段时间,就像这样

function animation(para1, para2, para3, para4, callbackFn) {
  //do the work
  callbackFn(); //work is done, callback can be invoked now
}

或考虑使用,这是ES6标准的一部分。如果使用ES5或更低版本,也有一些库可以提供承诺,例如

@Radek Pech-感谢您为我指明了正确的方向。我没有考虑CSS动画计时,这使得回调看起来像是提前触发的。

您可以使用promise。“我如何编写一个函数(a)在完成时调用另一个函数(b)”-->
function b(){};函数a(){b();}@EddyAk当它到达最后一条语句时就完成了<代码>b()
a
中的最后一句话。我试过了,它只是完成了所有的过程,即使动画仍然是running@EddyAk那么你应该重新措辞你的问题。但当你这样做的时候,这将是一个复制品。很明显你还没有做任何研究。你不是第一个尝试这样做的人。你甚至不知道OP使用的是什么类型的动画。要么要求澄清,要么不要基于假设回答糟糕的问题//工作已经完成,现在可以调用回调。我知道这是我需要做的,我需要知道如何去做
function animation(para1, para2, para3, para4, callbackFn) {
  //do the work
  callbackFn(); //work is done, callback can be invoked now
}