0

我有以下代码,但是位置不会随鼠标悬停而变化 - 我错过了什么?

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);
}
4

1 回答 1

1

这里有两个问题:

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

所以试试这个:

rect.on('mouseover', function(e) {
    rect.setPosition({x: 50, y: 50}); 
    layer.draw(); 
});
于 2013-03-04T15:09:51.743 回答