많은 이벤트가있는 div가 있습니다. 나는 두 가지를 시도했다.여러 작업으로 전환
1- 토글의 두 번째 부분을 조건부로 처리한다. 작동하지만 응답이 완벽하지는 않습니다. 지연 시간이 1 초입니다. 여기에서 사례를 단순화했습니다. http://jsfiddle.net/T26vF/2/
2-then 간단한 토글로 시도했습니다. 개체를 클릭하면 잘 작동합니다. 하지만 여기서 문제는 내가 토글의 첫 번째 부분에있을 때 배경이나 다른 객체를 클릭하여 두 번째 클릭해야하는 첫 번째 객체로 돌아올 때입니다. (첫 번째 클릭은 두 번째 부분을 계속 실행합니다. 토글). 여기 경우 단순화 : http://jsfiddle.net/T26vF/4/
$(function(){
// THIS
$(".arrodonit").toggle(
function(){ $(this).children("img").animate({"width":"411px","marginLeft": "-85px","marginTop": "-80px"}, 900);
$(this).siblings(".fons").fadeOut("slow");
},
function(){ $(this).children("img").animate({"width":"233px","marginLeft": "0px","marginTop": "0px"}, 900);
$(this).siblings(".fons").fadeIn("slow");
}
);
// NOT THIS
$(".arrodonit").click(function(e) {
e.stopPropagation();
$('.arrodonit').not(this).siblings(".fons").fadeIn("slow");
$('.arrodonit').not(this).children("img").stop().animate({ "width":"233px","marginLeft": "0px","marginTop": "0px",}, 900);
$(".mesInfo").fadeIn()
$(".info").fadeOut()
});
// DOCUMENT
$(document).click(function() {
$('.fons').fadeIn();
$('.arrodonit img').animate({ "width":"233px","marginLeft": "0px","marginTop": "0px"}, 900);
});
})
을 물어 :
- 내 코드에 어떤 문제가 있습니까?
- 첫 번째 경우에 조건부를 적용하면 지연되는 이유는 무엇입니까?
- 두 번째 예제에서 두 번 클릭해야하는 이유는 무엇입니까?
- 동일한 작업을 수행하는 더 좋은 방법이 있습니까?
이 도움이 당신의 지연
희망을 줄일 것입니다하지만 난 넣어 시도 .stop(). 예를 들어 문서에서 애니메이션을 적용하면 작동하지 않습니다. 토글의 첫 번째 부분을 클릭 한 다음 문서를 클릭 한 다음 개체를 다시 한 번 클릭하면 두 번 클릭해야합니다. 문서를 클릭하면 토글을 중단하고 stop()을 종료해야한다고 가정합니다. 그것은 일어나지 않습니다. 당신은 그것을 여기에서 볼 수 있습니다 : http://jsfiddle.net/T26vF/5/ 아마도 내가 잘못한 것이 있습니다. – Nrc
다른 애니메이션에서 멈추지 않는 이유는 무엇입니까? – Dhiraj
stop()을 넣습니다. 아무것도 변경되지 않습니다. http://jsfiddle.net/T26vF/9/ 직접 할 수도 있고 직접 변경할 수도 있습니다. – Nrc