2010-01-19 5 views
1

    fx와 함수를 사용하고 싶습니다. 애니메이션이 있습니다. 큐의 끝에서 ajax를하고 싶습니다. 요구.
    나는 그것이 작동 할 수없는 것 ...
    나는 ... 어떻게 것이며 진행하는 전혀 생각이 없다 Jquery.queue의 마지막 효과가 끝날 때 함수를 실행합니다.

이 매우 매우 거친 예,하지만

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000); 
    $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500) 
    callAjax(); 
} 

   이 코드는 마지막 효과가 시작되기 전에 callAjax 함수를 호출합니다. 실제로는 첫 번째 호출과 거의 같습니다.
    실제 사례는 좀 더 복잡합니다. 예를 들어 애니메이션 효과의 콜백을 사용할 수 없습니다. 큐가 마지막 효과를 끝낼 때 또는 그와 비슷한 것을 알고 싶습니다.
    어떻게하면 마지막 애니메이션이 끝날 때 호출되도록 할 수 있습니까? ,

애니메이션 (PARAMS [시간], [이 완화]

+0

@NoProblemBabe, 왜 애니메이션 기능의 콜백을 사용할 수 없는지 이해하지 못합니다. 애니메이션 대기열은 각 요소에 고유합니다. 'animate'가 큐의 마지막 부분이라면 큐 요소가 모두 끝난 후에 콜백이 시작됩니다. 당신을 도울 수있는 방법을 이해할 수 있도록 설명해주십시오. –

+0

다른 방법으로 이러한 효과를 사용하고 내 작은 프레임 워크에 더욱 적합합니다. –

답변

0

큐가 작동하는 방식에 대해 좀 더주의 깊게 살펴본 후, 애니메이션이 적용될 마지막 요소를 알고있는 경우 해당 큐에 내 아약스 호출을 대기시킬 수 있다는 것을 알았습니다. 애니메이션이 끝나면 함수가 다음과 같이 배치됩니다.

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000); 
    $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500);  
} 

$('#dvRightContent').queue(function() { 
    callAjax(); 
}); 

물론 콜백과 동일한 동작을합니다.
도움 주셔서 감사합니다.

1

http://docs.jquery.com/Effects/animate

시도가 AJAX 함수 (검색 경우 (애니메이션)) 마지막 효과 콜백 방법을 설정하는 참조 [콜백])

+1

앞서 말했듯이 마지막 요소의 애니메이션이 끝날 때 함수를 적용하는 방법을 알고 싶었습니다. 일반적인 콜백과 체인은 내가 찾고있는 것이 아닙니다. 어쨌든 고마워요 –

0

체인 통화가 함께 콜백 메커니즘을 사용하여 함께 애니메이션 :

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000, function() { 
     $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500, function() { 
      callAjax(); 
     }); 
    }); 
}); 
+0

앞서 말했듯이 마지막 요소의 애니메이션이 끝날 때 함수를 적용하는 방법을 알고 싶었습니다. 일반적인 콜백과 체인은 내가 찾고있는 것이 아닙니다. 어쨌든 고마워. –

관련 문제