2010-12-10 8 views
8

से ओवरले के साथ ट्रांजिगर ('क्लिक') में देरी कैसे करें। यदि मैं JSON प्रतिक्रिया ठीक है, तो मैं Jquery टूल, ओवरले प्रभाव का उपयोग कर रहा हूं और इसे बंद करना चाहता हूं, लेकिन मैं इसे देरी से करना चाहता हूं।jquery tools

$.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 ('बंद करें')। ट्रिगर ('क्लिक करें'); कुछ समय के बाद निष्पादित किया जाना चाहिए। कोई विचार?

उत्तर

23

setTimeout() इस उद्देश्य के लिए डिज़ाइन किया गया एक मूल जावास्क्रिप्ट फ़ंक्शन है।

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

अंतिम संख्या मिलीसेकंड में देरी का समय है।

+0

thanx) यह काम करता है) –

+0

मैं सोच रहे होंगे -would-, बहुत ही (वाक्यात्मक चीनी ..) $ ('# nivo') द्वारा संभव हो जाएगा। देरी (5000) .load ( –

+0

@Fronker , यह देरी() लोड (...) के साथ काम नहीं करेगा, क्योंकि .load() .delay() फ़ंक्शन के बारे में परवाह नहीं करता है, उदाहरण के लिए .show(), उदाहरण के लिए। केवल फ़ंक्शंस 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 में प्रभाव के साथ काम करता है जो प्रभाव कतार का उपयोग करते हैं। '.trigger()' उनमें से एक नहीं है। – TelegramSam

संबंधित मुद्दे