2012-07-06 4 views
0

페이딩 전에 클릭 이벤트를 비활성화하고 페이드 아웃 후에 활성화 할 수 있습니까? jQuery 비활성화 페이드와 함께 클릭 이벤트 활성화

내 JS 코드 :

$('a').click(function(){ 
    // disable click 
    $('div').fadeOut(400, 
     function(){ 
      $(this) 
       .css('background','yellow') 
      .fadeIn(1800, function(){} 
      // enable click 
      );}); 
}); 

내가 맞아 그때 정지()를 사용하지만 난

답변

2

요소에 클래스를 추가하고 해당 클래스가있을 때 이벤트를 실행하지 마십시오.

$('a').click(function() { 
    var $this = $(this); 
    if ($this.hasClass('noClick')) return; 
    // disable click 
    $this.addClass('noClick'); 
    $('div').fadeOut(400, function() { 
     $(this).css('background', 'yellow').fadeIn(1800, function() { 
      // enable click 
      $this.removeClass('noClick'); 
     }); 
    }); 
}); 
+0

감사합니다. 괜찮습니다. – test

+0

문제 없습니다. 다행히 도울 수있다. :-) –

4

이 클릭 콜백의 첫 번째 줄로 추가 내 http://jsfiddle.net/WBWrM/1/ 들으 수정/비활성화 PLZ 수 있도록해야합니다

if ($('div').is(':animated')) return; 
+1

이 이유는 무엇입니까? 그것은 질문에 완벽하게 대답합니다 ... –

+0

나는 궁금합니다. – Utkanos

+0

+1,이 위대한 작품. 나는 그것이 내가 제안했던 것이 더 좋은 생각이라고 생각한다. –