我试图让一些动画在Backbone视图的渲染操作期间工作,当我将基础模型的数据刷新到新记录时被调用。jQuery UI动画在动画开始之前执行回调
SiteView = Backbone.View.extend({
initialize: function() {
this.model.bind('change', this.render, this);
},
render: function() {
if (this.model.get('name')) {
var callback = function (view) {
view.$("#activesite_name").empty().append(view.model.get('name'));
view.$("#activesite_desc").empty().append(view.model.get('description'));
$(view.el).show('drop', { direction: 'down' }, 'slow').removeClass('hidden');
};
$(this.el).filter(':visible').fadeOut(500, callback(this));
}
}
});
然而在显示操作,从而在UI更新,然后从一个模型选择刷新到另一个时消失正在执行jQuery UI的回调函数。
如何才能让回调仅在元素被隐藏后才被调用?
它正在执行第一次因为'回调(这)'是一个函数调用,它发生,而'fadeOut'参数正在评估中。 –