kinetic js - 如何动态修改属性(onmouseover)

时间:2013-03-04 15:00:29

标签: javascript kineticjs

我有以下代码,但是鼠标悬停时位置没有变化 - 我缺少什么?

function drawOverlay() {
    var stage = new Kinetic.Stage({container: 'overlay'});
    var layer = new Kinetic.Layer();

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

    layer.add(rect);
    stage.add(layer);
}

1 个答案:

答案 0 :(得分:1)

这里有两个问题:

  1. 你的y值中有一个空格:“5 0”与“50”,这会导致javascript解析错误。
  2. 您需要在更改节点位置后重新绘制图层。
  3. 所以试试这个:

    rect.on('mouseover', function(e) {
        rect.setPosition({x: 50, y: 50}); 
        layer.draw(); 
    });