我是 Coffeescript 的新手,我想将一个函数作为参数传递,以便在动画完成时用作回调。现在,我的“回调”正在我的动画完成之前运行。
closeItem: ($elem) ->
@close($elem, @myCallback($elem))
close: ($elem, callback) ->
$elem.slideUp 300, (-> callback)
我是 Coffeescript 的新手,我想将一个函数作为参数传递,以便在动画完成时用作回调。现在,我的“回调”正在我的动画完成之前运行。
closeItem: ($elem) ->
@close($elem, @myCallback($elem))
close: ($elem, callback) ->
$elem.slideUp 300, (-> callback)
您的问题是您在调用close
. 我们在这里重载了术语,但您似乎想要“关闭”$elem
变量以实现这一点。试试这个:
closeItem: ($elem) ->
@close $elem, => @myCallback($elem)
close: ($elem, callback) ->
$elem.slideUp 300, callback
注意几点:
我们=>
在对 的调用中使用了粗箭头@close
。这将使用当前对象的上下文创建一个函数,以便它可以调用@callback
然后关闭它$elem
以便可以将其传递给@myCallback
此外,在close
函数本身中,您只需将回调传递给slideUp