1

我是 Coffeescript 的新手,我想将一个函数作为参数传递,以便在动画完成时用作回调。现在,我的“回调”正在我的动画完成之前运行。

  closeItem: ($elem) ->
    @close($elem, @myCallback($elem))

  close: ($elem, callback) ->
    $elem.slideUp 300, (-> callback)
4

1 回答 1

4

您的问题是您在调用close. 我们在这里重载了术语,但您似乎想要“关闭”$elem变量以实现这一点。试试这个:

closeItem: ($elem) ->
    @close $elem, => @myCallback($elem)

close: ($elem, callback) ->
    $elem.slideUp 300, callback

注意几点:

我们=>在对 的调用中使用了粗箭头@close。这将使用当前对象的上下文创建一个函数,以便它可以调用@callback然后关闭它$elem以便可以将其传递给@myCallback

此外,在close函数本身中,您只需将回调传递给slideUp

于 2013-02-24T04:11:28.823 回答