2009-11-21 6 views
1

두 가지 기능과 문제점이 있습니다.jQuery의 큐 기능 및 Ajax

hideTable(); 
ajaxCall(params); 

함수 hideTable

function hideTable() { 
    if (effects) { 
     $('#jquerytable tbody').fadeOut(speed); 
    } 
} 

I는 ajaxCall 함수 (약간의 시간을 소요)이 함수 hideTable 후에 실행하고 싶다. showTable 함수는 ajax 호출 후에 실행되어야합니다. 나는 많은 시도를했지만 나에게는 아무 문제가 없었다. Ajax 호출은 hideTable 함수가 완료되기 전에 시작됩니다. jQuery 큐를 사용할 수 있다고 생각하지만이 문제에이 큐를 적용하는 방법을 모르겠습니다.

그런데 나는 콜백 함수를 사용하고 싶지 않습니다. 다른 컨텍스트에서 hideTable 함수를 재사용하고 싶습니다.

나를 도울 수 있다면 좋을 것입니다.

답변

1

jQuery의 애니메이션 기능과 숨기기 기능에는 사용할 수있는 콜백이 있습니다.

animate(params, [duration], [easing], [callback]) 
hide(speed, callback) 

그럼 hideTable의 코드는 무엇입니까? 그것은 $(). hide()를 사용합니까? 그렇다면, 길을 가야하는 것입니다

+0

그게 좋은 답변입니다. 그러나 콜백이없는 다른 것이 있습니까? – dominik

+0

이것은 가장 쉬운 해결책입니다. hidetable 함수를 다시 사용하려면 콜백을 매개 변수로 전달하십시오. – Nosredna

+0

다른 많은 (덜 바람직한)이 문제를 해결하는 것이 있습니다. 전역 변수를 사용하여 테이블의 상태를 추적 할 수 있습니다 (숨김, 애니메이션, 표시됨). 물론 콜백을 사용하여 전역을 애니메이션에서 숨김으로 업데이트 할 수 있습니다. – Nosredna

0

이 콜백을 사용하는 대답 @nosredna 아약스 기능으로 콜백을 설정하지만 JQuery와 큐 로해야합니까 원한다면 난 당신이 비슷한 질문

this answer 보는 것이 좋습니다