2010-12-10 9 views
8

JSONレスポンスがOKならば、Jqueryツール、オーバーレイエフェクトを使用していますが、閉じたいと思っていますが、遅延を伴いたいです。jqueryツールからオーバーレイをトリガーする(トリガーする)方法

$.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');      
         } 
        } 
      }); 

このように、jQuery( '。close')。trigger( 'click');しばらくしてから実行しなければなりません。何か案は?

答えて

23

setTimeout()は、この目的のために設計されたネイティブJavaScript関数です。

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

最後の数字には、ミリ秒単位の遅延時間があります。

+0

ありがとう)それが動作)私は、非常に同じ(糖衣構文を考えて-would- –

+0

...)$( '#のnivo')によって可能になります。遅延(5000).LOAD( –

+0

@Fronker .load()は.delay()関数を気にしません。たとえば、.show()と同じように、delay()。load(...)では動作しません。 ()の効果を使用することができるjQueryキューを使用してください。 – 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のエフェクトでのみ機能します。 – TelegramSam

関連する問題