Javascript 我如何编写一个函数(a),当它完成时调用另一个函数(b)?
我有一个输入列表(type=“radio”),单击时我正在运行动画,并且在动画运行时禁用输入 如何使此函数在其完成运行后调用另一个函数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
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
}