jQuery 문자열을 변수로 변환하는 함수 eval
2021. 12. 15. 13:00ㆍStudy/jQuery
문자열을 변수로 변환할 때 사용되는 함수 eval()
아래 코드에서 애니메이트 left 에 배열에 저장된 값을 넣어주고 싶었는데,
i를 활용해서 mynum에 문자열을 만든 후 넣어주니 제대로 인식되지 않고 오류가 발생했다.
테스트 해 본 결과 mynum이 변수값이 아니라 말 그대로 '문자열' 이라서 발생되는 오류였고
문자열을 변수로 변경해주는 함수 eval()을 사용하여 해결했다!
mynum = eval('left'+ (i+1) + '[0]');
var left1 = [0, 0]; // 좌측 값, 우측 값
var left2 = [50, 350];
var left3 = [100, 400];
var left4 = [150, 450];
$('.eventSlideMenu ul li span').mouseenter(function(event){
var $target=$(event.target);
var myturn = $(this).index('.eventSlideMenu ul li span');
var mynum = 0;
for(var i=0; i<4; i++){
if(i <= myturn){ // i=0 , myturn 2
mynum = eval('left'+ (i+1) +'[0]');
$('.eventSlideMenu li:eq('+i+')').animate({left: mynum},450).clearQueue();
console.log(mynum);
} else {
mynum = eval('left'+ (i+1) +'[1]');
$('.eventSlideMenu li:eq('+ i +')').animate({left: mynum},450).clearQueue();
console.log(mynum);
}
}
});
해당 예제는
'Study > jQuery' 카테고리의 다른 글
jQuery sticky menu, scroll spy (0) | 2021.12.16 |
---|---|
jQuery left right clone gallery (0) | 2021.12.15 |
jQuery silde left (partenr banner) (0) | 2021.12.15 |
jQuery 아코디언 갤러리 (컬랩스) (0) | 2021.12.15 |
jQuery 아코디언메뉴 (0) | 2021.12.15 |