Kinetic Js清除了一层

时间:2013-08-27 16:28:35

标签: javascript

我正在寻找一种方法来删除动能js上的图层.. 我认为这是一个简单的任务,我尝试了一些代码,如node.remove()或layer.remove(node),但实际上无法弄明白。

这是示例代码:

    <!DOCTYPE HTML>
<html>
  <head>

  </head>
  <body>
    <div id="container"></div>
    <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.6.0.min.js"></script>
    <script defer="defer">
    var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });

      var layer = new Kinetic.Layer();

      var rect = new Kinetic.Rect({
        x: 239,
        y: 75,
        width: 100,
        height: 50,
        fill: 'green',
        stroke: 'black',
        strokeWidth: 4
      });

      // add the shape to the layer
      layer.add(rect);

      // add the layer to the stage
      stage.add(layer);

function delete()
    {
    layer.remove();

    }
    </script>
    <button type="button" onclick="delete()">Delete</button>
  </body>
</html>

我无法弄清楚为什么我的delete()函数不起作用。 有人知道我做错了什么?

之前谢谢

1 个答案:

答案 0 :(得分:0)

实际上我从来不需要删除整个图层。我清除它并重复使用它。

layer.removeChildren();

只删除特定内容,如(群组)或(行)或(图片)或其他......

console.dir(layer);  // initial check -- look at (children)...

    var groups = $('#layerID').find('Group');
    groups.each(function(group) {

        group.destroy(); or.... 
        group.remove();

    });

console.dir(layer);  // verify it worked (look at children again... a bunch were removed)