KineticJS以编程方式设置行程

时间:2013-03-11 01:28:16

标签: javascript jquery kineticjs

我有一些文本,它有一个“link variabletext”形式的类(其中variabletext对每个链接都是唯一的)。我正在尝试设置它,以便当我鼠标悬停文本时,相应的对象使用jQuery改变颜色。

我的所作所为: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而不是上面的代码)它可以正常工作。我不知道为什么会这样,到目前为止还不知所措。

1 个答案:

答案 0 :(得分:0)

想出来。我不得不将字符串转换为对象:

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

然后使用obj.setStroke ....