2014-10-23 3 views
0

쉽지 만 답변을 찾을 수 없습니다.문자열을 변수 이름으로 변환하여 jQuery .animate에서 사용하십시오.

나는 다섯 개 위치 값을 변수에 저장 한 :

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

이를 :

사용자가 링크를 클릭

, 내가 그 위치에 사업부를 이동 애니메이션을하고자하는 등 나바, navB, navC, 공장. 그러나 사용자가 링크를 클릭하면 첫 번째 문자 만받습니다. navA 나 navB 등을 얻기 위해 'nav'를 문자 앞에 붙여야합니다.

변수 이름을 어떻게 만들 수 있습니까? 애니메이션 기능?

내가 시도 :

$('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); 

}); 
+1

Protip을'$를 (this) .attr ('id')'==='this.id'하지만 this.id는 네이티브 JS이기 때문에 훨씬 빠릅니다. –

+0

우수 포인트, 스털링. 감사! – crashwap

+0

확실한 브루! –

답변

3

당신이 전역 변수

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

환상적! 감사. – crashwap

2

또한 자바 스크립트의 평가 방법을 사용할 수 있습니다에 액세스 할 수 창 개체를 사용할 수 있습니다 ..

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

당신 말이 맞습니다 - 그것도 효과가 있습니다. +1하고 고맙습니다. – crashwap

관련 문제