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 に答える