0

HTML5のkinticJSでは、マウスオーバーで線を消そうとしていますが、変数を使用して実行すると正常に機能します:http: //jsfiddle.net/Vbwta/

        var layer = new Kinetic.Layer();
        lines0= new Kinetic.Line({
        points: [73+10, 70+10, 340+10, 23+10],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines0.on('mouseover', function() {
            lines0.hide();
          layer.draw();;            
         });

    lines1= new Kinetic.Line({
        points: [53, 50, 320, 03],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines1.on('mouseover', function() {
            //document.body.style.cursor = 'pointer';
            lines1.hide();
          layer.draw();;            
         });

しかし、配列を使用している場合、同じことが正しく機能しません:http: //jsfiddle.net/uNak5/

var lines= new Array();
    lines[0]= new Kinetic.Line({
        points: [73+10, 70+10, 340+10, 23+10],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines[0].on('mouseover', function() {
            lines[a].hide();
          layer.draw();;            
         });

    lines[1]= new Kinetic.Line({
        points: [53, 50, 320, 03],
        stroke: 'red',
        strokeWidth: 7,
      });

      lines[1].on('mouseover', function() {
            //document.body.style.cursor = 'pointer';
            lines[1].hide();
          layer.draw();;            
         });


         layer.add(lines[0]);
         layer.add(lines[1]);
4

1 に答える 1

0

http://jsfiddle.net/uNak5/1/

コードを更新しました。配列アイテムへの参照を次のように設定しました

    lines[a] 

むしろ

    lines[0]

あなたのリスナーで

    .on('mouseover', function());
于 2013-01-29T22:47:10.407 に答える