0

另一个让我陷入困境的新手问题。

我有三个变量

var state1
var state2
var state3

我需要根据单击对象的属性在 .click 事件上访问其中一个。

如何访问正确的变量?基本上我需要通过将“状态”和正确的数字加在一起来获得变量名。

我会尽快用一些代码更新这篇文章,以备不时之需。

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 回答