2009-01-20 11 views
10

में एक टाइमर सेट करने के लिए निम्न कोड चलाना चाहते हैं: प्रत्येक यात्रा के बीच 1 सेकंड की देरी के साथमैं कैसे जावास्क्रिप्ट

ajaxUpdate(10); 

। मैं यह कैसे कर सकता हूँ?

+0

आशा है कि आपका सर्वर धड़कन को संभाल सके। :) – epascarello

उत्तर

6

तुम भी

setTimeout(function() {ajaxUpdate(10)}, 1000); 
+1

यह केवल एक बार होगा, न कि – annakata

+0

यह स्थिति इस स्थिति के लिए सही है क्योंकि बी 4 प्रत्येक पुनरावृत्ति मैं एक शर्त की जांच करना चाहता हूं, और केवल अगर यह पूरा हो जाए तो मैं टाइमर को अगले पुनरावृत्ति 4 सेट करना चाहता हूं। सेट इंटरवल के साथ यह ऑटो चलाएगा। बिना शर्त की स्थिति के जो मैं नहीं चाहता। और यह 1 अधिक सरल है –

+2

मुझे दूसरा जवाब (केंट फ्रेड्रिक से) और अधिक पूर्ण और विस्तृत मिलता है। यह आपके लक्ष्य को प्राप्त करने के कई तरीकों को भी प्रस्तुत करता है। यह उत्तर भी अच्छा है, लेकिन यह सिर्फ अपूर्ण है और समुदाय के लिए उतना ही उपयोगी नहीं है, इसलिए मैं व्यक्तिगत रूप से सुझाव देता हूं कि आप केंट के उत्तर को स्वीकार करें। – Mtz

5

आप इसके लिए setInterval() का उपयोग कर सकते हैं। एक गुमनाम समारोह के नाम से जाना बनाएँ, और का उपयोग मिलीसेकेंड में समय:

var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000); 
+0

आपको केवल setInterval() –

+0

अपडेट की बजाय window.setInterval() का उपयोग करना चाहिए - धन्यवाद @gs – Greg

+0

क्या मुझे var myterval = का उपयोग करने की आवश्यकता है ... या क्या मैं सिर्फ = और दाईं ओर कोड को कॉल कर सकता हूं यह काम करेगा? –

39
var i = window.setInterval(function(){ 
      ajaxUpdate(10); 
}, 1000); 

यह ajaxUpdate, हर दूसरे फोन करेगा इस तरह के एक समय इसे बंद कर दिया जाता है जब तक।

और आप इसे बाद में बंद करना चाहते हैं:

window.clearInterval(i); 

आप केवल यह एक बार लेकिन चलाने के लिए चाहते हैं, तो

var i = window.setTimeout(function(){ 
      ajaxUpdate(10); 
}, 1000); 

चाल क्या करेंगे, और आप बंद करना चाहते है, तो

window.clearTimeout(i); 

"विंडो" के बाद यह चलने से पहले चल रहा है "उपसर्ग सख्ती से नस्लीय नहीं है, लेकिन यह एक अच्छा विचार है, क्योंकि आप कभी नहीं जानते कि कोई और व्यक्ति अलग-अलग व्यवहार में दिखाई देने वाले दृश्यमान क्षेत्र में एक ही नाम के साथ कुछ और बनाना चाहता है।

इस के संपूर्ण संदर्भ के लिए, मैं हमेशा MDC बहुत उपयोगी पाते हैं:

इसके अलावा, आप को पढ़ने के लिए चाहते हो सकता है जॉन रेसिग द्वारा टाइमर पर यह आलेख,

+0

आपको केवल setInterval() (clearInterval के लिए समान) के बजाय window.setInterval() का उपयोग करना चाहिए –

+0

जावास्क्रिप्ट दस्तावेज़ों से लिंक करने से एक अच्छा जोड़ा जाएगा: https://developer.mozilla.org/en/DOM/window.setInterval –

+0

आपको इसे "खिड़की" के साथ क्यों प्रस्तुत करना चाहिए। ? –

-1

आप फंक्शन setTimeout का उपयोग कर सकते हैं (स्ट्रिंग fonc, पूर्णांक देरी) के साथ ऐसा कर सकते हैं। उदाहरण के लिए, अपने कोड निष्पादित करने के लिए प्रत्येक दूसरे आप कर सकते हैं:

window.setTimout("ajaxUpate",100); 

आशा है कि मैं अपने सवाल का जवाब;)

+0

ओह, सभी एक ही मिनट में जवाब देते हैं! – damdec

+0

तारों का उपयोग अत्यधिक अनुशंसित नहीं है, यह भी अस्पष्ट है। –

+0

इसके अलावा, आपके उदाहरण में, AJAXUpdate को अर्द्ध-यादृच्छिक मान के साथ बुलाया जाएगा, न कि निश्चित मूल्य '10' उसने अनुरोध किया था। –

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