jQuery 문자열을 변수로 변환하는 함수 eval

2021. 12. 15. 13:00Study/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);
            }
        }

    });

 

 

 

해당 예제는

https://ooo-k.tistory.com/117

 

'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