0

是)我有的:

使用 jQuery UI,我将一个 div 从一个 div 拖放到另一个 div。

掉落事件触发:

  1. 一个动画,可以缓和/捕捉放置的 div 到位。
  2. 另一个 div 的切换(显示/隐藏)。

问题:

切换发生在动画完成之前。我需要在动画完成后进行切换。

现场示例+代码:

http://jsfiddle.net/dominornovus/3Hq3q/2/

我试过的:

我没有成功尝试使用动画选择器:

$(":animated").promise().done(function() {
//code here
}

我的问题:

如何防止在可放置动画之前发生切换。

4

1 回答 1

1

使用回调animate()

$('.drop').droppable({
    tolerance: 'intersect',
    drop: function(event, ui) {
        var drop_p = $(this).offset();
        var drag_p = ui.draggable.offset();
        var left_end = drop_p.left - drag_p.left + 1;
        var top_end = drop_p.top - drag_p.top + 1;
        ui.draggable.animate({
            top: '+=' + top_end,
            left: '+=' + left_end
        }, function() {  //callback
            $(".somediv").toggle();
        });
    }
});

小提琴

于 2013-01-27T16:44:01.203 回答