2013-11-22 8 views
0

순간되지 않습니다 :JQuery와 때어 난이 같은 구성 요소에 fadeIn/페이드 아웃 기능의 시리즈를 바인딩에서 mousemove 이벤트에

: 다음 클릭 이벤트에

$("#cropshiftbundle").bind("mousemove", function() {         
     $("#cropimgbtn").fadeOut(200).fadeIn(200).fadeOut(200).fadeIn(200); 
}); 

, 나는이 같은 마우스 오버 이벤트를 언 바운드

$("#cropimgbtn").click(function(){    
     $("#cropshiftbundle").unbind("mousemove"); 
    }); 

글쎄, 나는 언 바인딩이 순간적으로 일어난다는 것을 알고있다.하지만 그것은 이미 트리거 된 fadeIn/fadeOut의 세리에이션 인 것 같다. 언 바인딩이 일어난다 던지간에 성분에 영향을 줄 것이다. 진실은 ..) 그러므로 언 바인딩은 즉각적으로 보이지 않는다.바인딩 해제가 발생했을 때 전자 메일을 중지하려면 어떻게해야합니까? 건배!

+1

, 좋은 것 같습니다 아이디어는 매초마다 수 백 번씩 발생하는 이벤트를 바인딩하여 마우스가 움직이는 모든 단일 픽셀에 4 개의 애니메이션을 대기시키는 함수에 바인딩됩니까? – adeneo

+0

실제로 그렇게되지 않습니다? :) – Bardelman

+1

그는 그것이 매우 나쁜 생각이라는 것을 의미했습니다. –

답변

1

.stop(true,true)

가 일치하는 요소에 현재 실행중인 애니메이션을 중지하십시오. 여전히 fx 큐에 애니메이션을 큐에 대기되기 때문에

$("#cropimgbtn").stop(true,true) 
$("#cropshiftbundle").off("mousemove"); 

하고보다 효율적으로 사용

.off()

1

그것은, 당신은 대기열을 취소) (.stop 사용하지만, 현재는 것을 명심 수 있습니다 애니메이션이 완료됩니다

$("#cropimgbtn").stop(true,true); 
$("#cropshiftbundle").off("mousemove"); 

데모 : 정말 Fiddle