테스트 사이트 - 개발 중인 베타 버전입니다

책을 보고 jquery를 작성햇는데요. 채택완료

lavyn뽑덕후 7년 전 조회 1,996

    $(function(){
        var state = false;
        $("#open_bt").click(function(){
            $("#all_menu").toggle();
            if(!state){
                imgOff(this);
                state = true;
            }else{
                imgOn(this);
                state = false;
            }
            return false;
        });

        $("#close_bt").on("click blur",function(){
            $("#all_menu").hide();
            imgOn("#open_bt");
            state = false;
        });

        function imgOff(t){
            var img = $(t).find("img");
            img.attr("src",img.attr("src").replace("prev","next")).attr("alt","전체메뉴닫기");

        }
        function imgOn(t){
            var img = $(t).find("img");
            img.attr("src",img.attr("src").replace("next","prev")).attr("alt","전체메뉴열기");

        }

    });

 

위내용에서

 

imgoff(t) <-- 요기에 왜 t 라는 값을 넣엇는지잘모르겠구요

 

var img = $(t).find("img"); 라고 햇는데 위의 script에서 대채 t를 언제 넣어준건지 또 t가 매개변수인건지 

 

전체적으로 이해가 너무안됩니다 ㅠㅠ t의 정체를 알려주세요 고수님들..

 

   img.attr("src",img.attr("src").replace("next","prev")) 이부분도 잘이해가안되요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
w
7년 전

요를 먼저 말씀드리면 open_bt의 객체 입니다.

아래의 코드를 보시면 id가 open_bt에 click 이벤트가 발생하면 아래의 코드가 진행 됩니다.

</p>

<p>   $("#open_bt").click(function(){

            $("#all_menu").toggle();

            if(!state){

                imgOff(this);

                state = true;

            }else{

                imgOn(this);

                state = false;

            }

            return false;

        });</p>

<p>

이후 status가 false이면 imgoff를 호출하는데 그때 들어가는게 open_bt오브젝트 입니다.

이걸 imgoff함수의 인자값인 t로 받습니다.

</p>

<p>img.attr("src",img.attr("src").replace("next","prev"))</p>

<p>

이건 해당 t객체의 src의 속성에 있는 값 중 문자열 next를 prev로 바꾸어서 t의 src에 다시 저장하는 것입니다.

 

우선 이 부분을 이해 하시려면 javascript부터 이해 하시는게 우선되어야 할 듯 합니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

l
lavyn뽑덕후
7년 전
감사합니다 근데 인자값이라고하셧는데 그게 매개변수인건가요?..
w
whitecatz
7년 전
네 맞습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인