0

我有一些文本,它有一个“链接变量文本”形式的类(其中变量文本对每个链接都是唯一的)。我正在尝试进行设置,以便当我将鼠标悬停在文本上时,相应的对象会使用 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 而不是上面的)它可以正常工作。我不确定为什么会这样,到目前为止我很茫然。

4

1 回答 1

0

弄清楚了。我必须将字符串转换为对象:

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

然后使用obj.setStroke....

于 2013-03-11T02:03:14.927 回答