将字符串转换为变量名称以在jQuery .animate中使用

时间:2014-10-23 17:25:55

标签: javascript jquery

这应该很容易,但我找不到答案。

我在变量中存储了五个位置值:navA,navB,navC等。

当用户点击链接时,我希望动画将div移动到该位置:

$('myDiv').animate({
    'left': navB
},2000);

这很有效。但是,当用户点击链接时,我收到的只是第一个字母 - 我需要在信件前加上“nav”,以获得navA或navB等

如何创建变量名称,并在animate函数中使用它?

我试过了:

$('theLink').click(function(){
    var nextLoc = $(this).attr('id').charAt(0); //returns A or B or C or...
    var nextVar = 'nav'+nextLoc;

    $('myDiv').animate({
        'left': nextVar
    },2000);

});

2 个答案:

答案 0 :(得分:3)

您可以使用window对象访问全局变量

var nextVar = window['nav'+nextLoc];

答案 1 :(得分:3)

你也可以使用javascript的eval方法..

var nextVar = eval('nav'+ nextLoc);