2013-03-11 4 views
0

"link variabletext"형식의 클래스가있는 텍스트가 있습니다 (variabletext는 각 링크마다 고유합니다). 나는 마우스 오버 텍스트를 사용할 때 jQuery를 사용하여 해당 객체의 색상이 바뀌도록 설정하려고합니다. 내가 가진 무엇프로그래밍 방식으로 스트로크 설정

jsFiddle : http://jsfiddle.net/hdJCn/

코드 내가 사용 :

<a href="javascript:void(0);" class="link one">One</a> 
<a href="javascript:void(0);" class="link two">Two</a> 
<a href="javascript:void(0);" class="link three">Three</a> 
<div id="container"></div> 

var stage = new Kinetic.Stage({ 
container: 'container' 
}); 

var layer = new Kinetic.Layer(); 

var onecircle = new Kinetic.Ellipse({ 
x: 100, 
y: 100, 
radius: { 
    x: 50, 
    y: 50 
}, 
strokeWidth: 1, 
stroke: 'black' 
}); 

layer.add(onecircle); 
stage.add(layer); 

$('.link').mouseover(function() { 
var numclass = $(this).attr('class').split(' ')[1]; 
(numclass + 'circle').setStroke('orange'); 
}); 

문제는이 개체가있는 방법 "setStroke 메소드를"이 없다고 말한다는 것이다. 동일한 객체 이름을 사용하고 하드 코딩하면 (위의 경우 대신 onecircle.setStroke) 제대로 작동합니다. 나는 이것이 왜 그리고 지금까지 손실에 있는지 잘 모르겠습니다.

답변

0

알아 냈어. 내가 객체에 문자열을 변환 할 수 있었다 : 사용 후

var obj = eval(numclass+'circle'); 

obj.setStroke ....

+0

나는 것 kineticJS의 사용 ID를 대신 eval.http의 모양보다는 : //www.html5canvastutorials.com/kineticjs/html5-canvas-select-shape-by-id-with-kineticjs / – allenhwkim

관련 문제