$('#version2').click(function(){
version2();
});
이걸로 함수 호출해서
function version2(){
$('.thumbnail').mouseenter(function() {
$(this).animate({
height: '+=100px'
});
});
$('.thumbnail').mouseleave(function() {
$(this).animate({
height: '-=100px'
});
});
});
}
}(jQuery);
이게 해당 함수임 근데 ㄴㅁ 클릭 1번하면 height가 100, 2번하면 200. 3번하면 300px씩 조정되네
클릭할때마다 mouseenter이벤트가 등록되니까 클릭할때마다 호출되는 mouseenter이벤트 갯수가 늘어나지......
쌀이랑/// 그럼 어떻게해야되요? mouseenter이벤트 갯수 줄이는 법좀 ㅠㅠ jquery 개초보임
zzzzzzz 클릭 이벤트 핸들러 안에 mouseenter 핸들러 추가 코드를 넣으면 어떡하냐
핸들러는 계속해서 순서대로 추가될 수 있음
clas.. /특정 엘리먼트 클릭햇을때 다른 엘리먼트에 커서올라갓을때 사이즈 조정하고싶어서 그렇게한건데 다른방식으로 바꾼다면 어떻게해야할까요 ? ㅠㅠ
각각 이벤트에 $('.thumbnail').unbind('mouseenter'); / $('.thumbnail').unbind('mouseleave'); 한줄씩 넣으면 될듯 하지만.. 근데 이러면 thumbnail에 다른 클릭 이벤트 나중에 등록할때 문제생길수있으니까 조심
그러니까 니가 원하는건 가령 "시작" 이라는 버튼이 있고 그걸 클릭하기 전엔 다른 element에 커서 올라가도 아무런 변화가 없지만 시작 버튼을 누른 후에는 동작하게 하려는거 아니냐?
clas..//맞아요 횽아 ㅠ
여러가지 방법이 있겠지만 가장 간단하게 생각할 수 있는 건 global variable 하나 flag로 두고 0으로 초기화되어 있으면 click 이벤트 핸들러에 flag = 1; 을 추가하고 mouseenter 하고 mouseleave 도 ready() 핸들러(onload) 에 한번만 넣어주고 enter/leave 핸들러 내부에서 if( flag === 1 ) 식으로 체크해서 동작하게 하면 되지
아 말을 잘못했네 섬네일에 다른 mouseenter / mouseleave 이벤트 등록할때 문제생길수도.. unbind할때 같이 사라져버릴테니..
횽아들 감사합니다