0

私がひどく立ち往生している別の初心者の質問。

私は3つの変数を持っています

var state1
var state2
var state3

クリックされたオブジェクトのプロパティに応じて、.click イベントでそれらの 1 つにアクセスする必要があります。

正しい変数にアクセスするにはどうすればよいですか? 基本的に、変数名には「状態」と正しい番号を追加する必要があります。

必要な場合に備えて、この記事をいくつかのコードですぐに更新します。

var backstate1;
var backstate2;
var backstate3;
var currentFrame;

function hotspotHover(){
var currentElement = this;
var daName =this.name;
$("#hotspot" +daName).hover(

    function() { 
    $("img.changeOutline").prop("src", currentElement.outlinesArray[currentFrame]);
    $("#outlines").show(); 
    }, 
    function() { 
    $("#outlines").hide(); 
    }
).click(function() {
    var backstateLevelNumber = currentElement.backStateLevel; //not working
    window['backstate'+ backstateLevelNumber]=currentFrame; //trying to set backstate+number to current frame variable
    hoverClick(currentElement.defaultFrame);
    checkReverse();
    checkSeqLoop();
});

};
4

2 に答える 2

2

配列を使用すると、問題が解決します。

var states = [null, null, null];

それらへのアクセスは次のようになります:(currentStateId現在の状態番号であると仮定)

var currentState = state[currentStateId] //Access state

そして設定のために:

states[currentStateId] = "State"; //Set State
于 2012-08-02T03:08:51.410 に答える
0

状態を配列として追加します。

var states = [ 'state1', 'state2'];
var stateNumber = 0;
var state = states[stateNumber];
于 2012-08-02T03:05:30.803 に答える