0

次の一般的な JavaScript 実装の問題についてアドバイスをいただけますか: JStree から jastgage オブジェクトを動的に構築し、配列を取得し、配列内の各要素について、3 つの diff jastgage オブジェクトを作成し、各オブジェクトに uniuck 名を付けます。

$('<div id="g1_'+i+'" class="gaugeObj"></div>').appendTo(".inner");
window["g1_"+i] = new JustGage({
    id: "g1_"+i,
    value: 0,
    min: 0,
    max: 100,
    gaugeWidthScale:"0.55",
    title:"CPU:"+ arrSel[i]                                         
});

「i」は配列のインデックス番号です...(私のobj名は j1_0 、 j2_0 、 j3_0 、... j1_1 、 j2_1 、 j3_1 ..... )必要に応じてすべてのオブジェクトを表示できますが、試してみると(オブジェクトを作成した直後に)値を更新するには

setInterval(function() {
    g1_(i).refresh(getRandomInt(0, 42));                     
 }, 1500);   

失敗し、何も更新されず、デバッグが表示されます: g1_ is not defined

私は何が間違っているのですか?

4

1 に答える 1

1

セットを window オブジェクトに保存したg1_ので、定義したのと同じ方法でアクセスするだけです。

window["g1_"+i].refresh(getRandomInt(0, 42));

現状では、JavaScript は呼び出された関数を探していますがg1_、それは関数ではなく、未定義です。コンソールに表示されます

于 2014-11-13T16:10:59.383 に答える