책을 보고 jquery를 작성햇는데요.
본문
$(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
요를 먼저 말씀드리면 open_bt의 객체 입니다.
아래의 코드를 보시면 id가 open_bt에 click 이벤트가 발생하면 아래의 코드가 진행 됩니다.
$("#open_bt").click(function(){
$("#all_menu").toggle();
if(!state){
imgOff(this);
state = true;
}else{
imgOn(this);
state = false;
}
return false;
});
이후 status가 false이면 imgoff를 호출하는데 그때 들어가는게 open_bt오브젝트 입니다.
이걸 imgoff함수의 인자값인 t로 받습니다.
img.attr("src",img.attr("src").replace("next","prev"))
이건 해당 t객체의 src의 속성에 있는 값 중 문자열 next를 prev로 바꾸어서 t의 src에 다시 저장하는 것입니다.
우선 이 부분을 이해 하시려면 javascript부터 이해 하시는게 우선되어야 할 듯 합니다.
!-->!-->