2010-07-16 13 views
5

के साथ काम नहीं कर रहा है मेरे पास एक jquery विस्तारित फ़ंक्शन है जो पूरी तरह से काम करता है लेकिन जब मैं इसे सेटटाइमआउट के माध्यम से पास करता हूं तो यह निर्दिष्ट अवधि का इंतजार नहीं करता है और सीधे चलाता है।सेटटाइमआउट jquery

jQuery(document).ready(function($) {  
    setTimeout($.mainmenuslider({ 
    trigger:'close' 
    }),6000); 
}); 

कोई विचार ???

उत्तर

8

आप वहीं बुला समारोह जब आप बाद में होने की टाइमआउट स्थापित करने के लिए कोशिश कर रहे हैं कर रहे हैं। इसके बजाय:

jQuery(function($) { 
    setTimeout(function() { 
    $.mainmenuslider({trigger:'close'}); 
    }, 6000); 
}); 
15

आप इस तरह, तुम क्या चाहते करने के लिए एक गुमनाम विधि पारित करने के लिए की जरूरत है:

jQuery(function($) {  
    setTimeout(function() { 
     $.mainmenuslider({ 
     trigger:'close' 
     }); 
    }, 6000);  
}); 

नहीं तो आप परिणाम समारोह के पारित करने के लिए कोशिश कर रहे हैं (जो इसे निष्पादित तुरंत, और बाद में कुछ भी नहीं चला)।

+0

अभी अपनी बट को बचाया! धन्यवाद :) दौड़ की स्थिति का पीछा कर रहा था और यह पता नहीं लगा सका कि मैं इसे – Bodhi

2

इसे आजमाएं !!

jQuery(document).ready(function($) {  
    setTimeout("$.mainmenuslider({ 
    trigger:'close' 
    })",6000); 
}); 

सेटटाइमआउट() का उपयोग करते समय, हमेशा कोट्स में कार्रवाई की आवश्यकता को निर्दिष्ट करने का प्रयास करें।

पूर्व:

setTimeout("call_this_function()", 4000); 
+0

से कैसे छुटकारा नहीं पा रहा था यह वास्तव में एक अच्छा विचार नहीं है। ऐसा करने के उचित तरीके के उदाहरणों के लिए अन्य उत्तरों को देखें। – Pointy

+0

एक पंक्ति प्रारूप से पहले 4 रिक्त स्थान कोड के रूप में प्रारूपित करें। ऐसा करने के लिए एक ब्लॉक का चयन करें और 'ctr-k' दबाएं। –

+0

उद्धरण विचार के लिए धन्यवाद (: –

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