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

时间:2016-06-06 11:51:08

标签: javascript jquery function callback

我有一个输入列表(类型=" 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
}

一旦动画完成,我需要以某种方式调用另一个函数来重新启用输入

5 个答案:

答案 0 :(得分:1)

你需要一个回调函数......这是一个回调函数的例子

access_code = @auth_client.fetch_access_token!

答案 1 :(得分:1)

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

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

了解如何detect end of CSS animation

$(".button").click(function(){
  $(this).addClass("animate");
  $(this).one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",
              function(event) {
    // Do something when the transition ends
  });
});

答案 2 :(得分:1)

要么使用回调,这只是函数参数并且已经存在很长时间了,就像这样

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

或考虑使用promises,它们是ES6标准的一部分。如果使用ES5或更低版本,那么也可以提供承诺的库,例如Kris Kowal's Q

答案 3 :(得分:0)

@Radek Pech - 感谢您指点我正确的方向。我没有考虑CSS动画时间,这使得它看起来像回调被提前解雇。

答案 4 :(得分:-1)

查看Javascript callbacks

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