我不确定这是否是最好的方法,但它有效:
我假设您要多次执行此操作,即在正确放下时保持动画效果,如果再次将其拖出而不放下,则剪切动画。
我将首先向被拖动的项目添加一个参数,该参数表明它是否在目标内。例如var over_target = false;
当调用激活时开始动画。
如果发生over事件,则设置 over_target = true; 如果发生事件,则设置 over_target = false;
调用 deactivate 时,您只需要检查是否 over_target == false 然后停止动画。