KineticJS:动画一个项目,当没有掉落到掉落目标时,回到初始位置

时间:2014-04-01 10:23:53

标签: drag-and-drop kineticjs

我做了一个应用程序,执行不同项目的拖放:图像和形状。在我的情况下,我使用rightLayer进行简单测试,将放置目标限制为特定图层:if ... else。一切都运行得很好,除了我想在leftLayer中创建一个项目恢复到原来的位置,当它没有尝试rightLayer的边界时(就像jquery,但在 kineticJS < /强>)。或者立即消失。

这是 JSFIDDLE 。为了更好地理解,请尝试以下用例:

  • 拖动矩形,
  • 将它放在网格之前,
  • 点击左侧图层中的项目。

1 个答案:

答案 0 :(得分:0)

您可以使用dragend中的测试自行销毁除dropzone之外删除的任何克隆。

演示:http://jsfiddle.net/m1erickson/2T68g/

clone1.on("dragend",function(){

    // destroy this clone if dropped outside the dropzone

    if(this.x()<dropzone.x()){ 
        this.destroy();
        layer.draw();
    }

});