2009-06-04 6 views
0

두 개 요소가 동시에 활성화되어서는 안되므로 두 개 요소가 동시에 활성화되어서는 안되므로 다른 요소가 사라지게 할 때 열려있는 요소를 페이드 아웃 할 수 있기를 원합니다. 해킹이 아닌 다른 방법이 있나요?애니메이션 간 jQuery 지연

<script ="text/javascript"> 

$(function() { 
    $('#jlogin').click(function() { 
     $('#login').toggle('fast'); 
     $('#reg').fadeOut('fast'); 
    }); 

    $('#jreg').click(function() { 
     $('#reg').toggle('fast'); 
     $('#login').fadeOut('fast'); 
    }); 
}); 

</script> 

이것이 현재 스크립트입니다.

답변

2

fadeOut에 대한 콜백 메커니즘을 사용하여 애니메이션을 연결할 수 있습니다. 애니메이션 메소드의 콜백은 이전 애니메이션이 완료된 후에 호출됩니다.

<script type="text/javascript"> 
    $(function() { 
     $('#jlogin').click(function() { 
      $('#reg').fadeOut('fast', function() { 
       $('#login').toggle('fast'); 
      }); 
     }); 
     $('#jreg').click(function() { 
      $('#login').fadeOut('fast', function() { 
       $('#reg').toggle('fast'); 
      }); 
     }); 
    }); 
</script> 
+0

빠른 예가 무엇입니까? –

+0

예제를 업데이트했습니다. 나는 원래 당신이하려고했던 것을 오해했다고 생각하지만,이 예제는 제거되어야하는 요소를 fadeOut 다음 (아마도) 표시 될 요소를 토글해야합니다. 토글 대신 쇼를 사용해야합니까? – tvanfosson

+0

애니메이션을 좋아하기 때문에 원래 토글을 사용 했으므로 더 유용 할 것입니다. 필요한 경우 요소를 다시 열 수 있어야합니다. –