2011-02-16 20 views
6

मुझे पर मेरे फ़ंक्शन abc() पर कॉल करने की आवश्यकता है, document ready आग के 5 सेकंड बाद।jquery - टाइमर?

क्या यह jQuery में संभव है?

$(document).ready(function() { 

//Wait 5 seconds then call abc(); 

}); 

function abc() {} 

उत्तर

16
$(document).ready(function() { 

//Wait 5 seconds then call abc(); 
    setTimeout(abc, 5000); 

}); 

setTimeout()link

+3

+1 नॉन इवल सिंटैक्स – david

8

अपने तैयार फ़ंक्शन में setTimeout("abc();", 5000); का उपयोग करें।

उदाहरण (इसका उपयोग न करें, नीचे देखें)

$(document).ready(function() { 
    //Wait 5 seconds then call abc(); 
    setTimeout("abc();", 5000); 
}); 

function abc() {} 

5000 यह बताता है 5000 मिलीसेकंड जो 5 सेकंड है प्रतीक्षा करने के लिए। यह एक मूल जावास्क्रिप्ट फ़ंक्शन है और jQuery की आवश्यकता नहीं है (बेशक, तैयार राज्य ईवेंट कोड के अलावा)। यदि आप कुछ आवर्ती बार होने की इच्छा रखते हैं तो आप setInterval() का भी उपयोग कर सकते हैं।

संपादित करें: आप यहां इसके बारे में अधिक पढ़ सकते हैं (लिंक हटाया गया)।
Edit3: एक ओर जहां मेरा उत्तर गलत नहीं था, यह (। के रूप में नीचे टिप्पणी में डेविड के आधार पर अपना ध्यान में लाया) यह ऐसा करने का एक बेहतर तरीका यह करने के लिए समारोह abc ही पारित करने के लिए सबसे अच्छा तरीका होगा नहीं था सीधे setTimeout फ़ंक्शन में। इसलिए जैसा:

$(document).ready(function() { 
    //Wait 5 seconds then call abc(); 
    setTimeout(abc, 5000); 
}); 

function abc() {} 

यह बेहतर रूप है क्योंकि आप कर रहे हैं नहीं स्ट्रिंग तर्क जो eval 'घ है और security risks का कारण बन सकता गुजर।

इसके अलावा, दस्तावेज़ीकरण के लिए एक बेहतर लिंक here है।

+0

एक संसाधन के रूप w3schools प्रयोग न करें। यह आपको 'सेटटाइमआउट (फ़ंक्शन, संख्या)' के बजाय 'सेटटाइमआउट (स्ट्रिंग, संख्या)' का उपयोग करने जैसी खराब प्रथाओं को सिखाता है। देखें: http://w3fools.com/ – david

+0

@ डेविड: पर्याप्त मेला। यह एक वैध बिंदु है। ** संपादित करें: ** मैंने अपना जवाब अपडेट कर लिया है। –

4
$(document).ready(function() { 

    setTimeout(abc, 5000); 

}); 

function abc() {} 
+0

का उपयोग करने के लिए सिर्फ रिकॉर्ड के लिए, हम सभी तीनों ने एक दूसरे के सेकंड के भीतर हमारे प्रतिक्रिया पोस्ट की। यह सवाल काफी कम फांसी फल था। –