2014-07-14 15 views
0

프로그래밍 초보자입니다. 나는 원하는 레이어의 불투명도를 설정하는 'get'속성을 사용하여 kineticjs.while 작업하고 있습니다. 나는 그 실수로 붙 잡혔다.javascript : Uncaught TypeError : 정의되지 않은 'get'속성을 읽을 수 없습니다.

squareShapesLastRow2.on('click', function() 
      { 
       var highlightspots=[31,14,20,1,33,16,24,5,10,23,8,30,11,36,13,27]; 
       a=this; 
       indexval = highlightspots.indexOf(parseInt(a.attrs.id)); 
       console.log(indexval); 
       for (var i=0;i<(1+1);i++) 
       { 
        if(indexval>=highlightspots.length) 
        { 
        indexval=0; 
        } 
        indexval++; 
       } 
        for (var j=0;j<(4+1);j++) 
        { 
         if(indexval<0) 
         { 
          indexval=highlightspots.length-1; 
         } 
         else if(indexval>=0) 
         { 
          var shape = a.highlight_layer.get(highlightspots[indexval])[0]; 
          shape.setOpacity(1); 
         } 
         a.highlight_layer.draw(); 
         indexval--; 
        } 
       setTimeout(function() { 
       for (var i = 0; i < highlightspots.length; i++) 
       { 
        var shape = a.highlight_layer.get("#high_" + highlightspots[indexval])[0]; 
        shape.setOpacity(.3); 
       } 
       a.highlight_layer.draw();},1000); 
      }); 
+0

어디에서 highlight_layer를 정의합니까? 그것을 사용하기 전에 .. console.log (a.highlight_layer); 자사의 정의되지 않은 경우 귀하의 문제가 –

+0

Mauno 브이 귀하의 올바른 피드백을 주셔서 감사합니다. 나는 그 오류를 고쳤다. 문제는 높은 조명 레이어를 참조하는 코드에서 언급 한 'id'입니다. – Luna

+0

올바른 방법은 다음과 같습니다. var shape = frenchBet.figure.frenchVariables.highlight_layer.get ("#"+ highlightspots [indexval] + "high ") [0]; – Luna

답변

0

위에서 언급 한 레이어의 참조에 'id'를 추가해야합니다. 코드를 다음과 같이 다시 작성하십시오. var shape = a.highlight_layer.get ("#"+ highlightspots [indexval]) [0];