2010-12-10 1 views
8

JSON 응답이 정상이라면 Jquery 도구, 오버레이 효과를 사용하고 닫고 싶지만 지연으로 처리하고 싶습니다.jquery 도구에서 오버레이로 .trigger ('click')을 지연시키는 방법

$.ajax({ 
       //bla bla 
       success: function(data){ 
         var obj = jQuery.parseJSON(data); 
         if (obj.status=='OK') 
         { 
          $('#status').text('bla bla'); 
          jQuery('.close').trigger('click'); 
         } 
         else 
         { 
          $('#status').text('bla bla');      
         } 
        } 
      }); 

this - jQuery ('. close'). trigger ('click'); 약간의 시간이 지나면 실행되어야합니다. 어떤 아이디어?

답변

23

setTimeout()은 이러한 목적으로 설계된 기본 JavaScript 함수입니다.

setTimeout(function() { 
    jQuery('.close').trigger('click'); 
}, 1000); 

마지막으로 지연 시간 (밀리 초)이 있습니다.

+0

고맙습니다) 작동) 내가 바로 그 (문법 설탕을 생각해야 -would- –

+0

..) $ ('#의 NIVO')에 의해 가능하다. 지연 (5000) .load ( –

+0

@Fronker .load()는 .delay() 함수를 신경 쓰지 않기 때문에 delay(). load (...)와 함께 작동하지 않습니다. 예를 들어 .show()와 동일합니다. 큐의 큐를 사용하면 delay()의 효과를 사용할 수 있습니다. – userfuser

6

사용의 setTimeout : 여기

지연 1 초 (1000 밀리 초)

$.ajax({ 
       //bla bla 
       success: function(data){ 
         var obj = jQuery.parseJSON(data); 
         if (obj.status =='OK') 
        { 
         $('#status').text('bla bla'); 
         setTimeout(function(){jQuery('.close').trigger('click');},1000); 

        } 
        else 
        { 
         $('#status').text('bla bla');      
        } 
       } 
     }); 
-3

가 테스트되지 않은 상태입니다.

jQuery('.close').delay(500).trigger('click'); 
+2

'.delay()'는 효과 대기열을 사용하는 jQuery의 효과에서만 작동하며 .trigger()는 그 중 하나가 아닙니다. – TelegramSam

관련 문제