2009-06-08 2 views
1

내 앱에서 팝업 메시지를 만들려고합니다. 성공하면 대화 상자를 열고 애니메이션을 적용한 다음 닫으려고합니다. 더 나은 질문은 "Jquery에서 시간 팝업을 어떻게 만듭니 까?하지만 어쨌든 내 코드를 실행하면 대화 상자가 잠깐 나타납니다. 대화 상자를 닫으면 ('닫기' 그것은 그 시점까지 작동) 라인. 순서 또는 병렬로 JQuery와 불이 명령을합니까? 라인jQuery UI 대화 상자가 왜 ('닫기') 너무 일찍 발생합니까?

$.ajax({ 
    type: "POST", 
    url: "/Sales", 
    data: { customer: [id] }, 
    success: function(msg) { 
     $('#thanks').dialog('open'); 
     $('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000); 
     $('#thanks').dialog('close'); 
    } 
}); 

답변

5

당신이 거의 동기에서 일하는 것이있는 방법. 시도

$('#thanks').dialog('open').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000).dialog('close'); 
0

은 그렇지 않을 수 있습니다 애니메이션이 끝날 때까지 기다리는 중입니다. 2000 년의 대기 시간을 추가하거나 닫기를 연결해보세요.

0

.dialog('close') 호출이 애니메이션을 기다리지 않습니다. 하지만 실제로 대화 상자를 닫으시겠습니까? 아니면 닫으려면 사용자 입력 (예 : 링크/버튼 클릭)을 기다리지 않아야합니까?

1

당신은 아마 애니메이션 함수에서 콜백에 대화 상자를 닫으려면 : jGrowl

$.ajax({ 
    type: "POST", 
    url: "/Sales", 
    data: { customer: [id] }, 
    success: function(msg) { 
     $('#thanks').dialog('open'); 
     $('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000, "linear", function(){ $('#thanks').dialog('close'); }); 
    } 
}); 

을하지만 난 당신이 플러그인을 사용하여 더 나을 거라고 생각?

관련 문제