-1

私は、ページが呼び出されたときに必要な数に応じて、その場でそれらを生成するphpを介してページにハードコードされたRaphael長方形要素をいくつか持っています。

私がやろうとしているのは、ID 番号を取り、関連する Raphael 関数の背景色を変更する JavaScript 関数を作成することです。

以下の例がうまくいかないことはわかっていますが、これが私が達成しようとしていることです。

var rectangle_1 = paper.rect(100, 10, 200, 75);
var rectangle_2 = paper.rect(400, 10, 200, 75);
var rectangle_3 = paper.rect(700, 10, 200, 75);

change_color('1');

function change_color(id) {
  variable_name = 'rectangle_' + id;
  variable_name.attr({fill: 'blue', stroke: 'black', 'stroke-width': 3});
}

明らかにこれは機能せず、オンザフライで要素名を生成する方法に関するヘルプとアドバイスをいただければ幸いです。

よろしく、

ステ

4

1 に答える 1

0

名前付き変数の代わりに配列またはオブジェクトを使用して四角形を格納するだけです。

var rectangles = [];
rectangles[0] = paper.rect(100, 10, 200, 75);
rectangles[1] = paper.rect(400, 10, 200, 75);
rectangles[2] = paper.rect(700, 10, 200, 75);

change_color(1);

function change_color(id) {
  rectangles[id].attr({fill: 'blue', stroke: 'black', 'stroke-width': 3});
}

文字列 ID が必要な場合は、オブジェクトとして実行できます。

var rectangles = {};
rectangles['one'] = ...
于 2012-04-06T20:57:33.640 に答える