2010-06-15 19 views

उत्तर

34
var counter = 0; 
setInterval(function() { 
    ++counter; 
}, 1000); 

ही, यदि आप कभी इसे फिर से बंद करने की जरूरत है, इस बनाता है संभव है कि:

var counter = 0; 
var myInterval = setInterval(function() { 
    ++counter; 
}, 1000); 

// to stop the counter 
clearInterval(myInterval); 
+0

@ShintoJoseph - आप विश्वास नहीं करते तुम्हारा मतलब है कि यह डोम के लिए खुद को कहते हैं? यह सवाल नहीं था, और यह जवाब लगभग पांच वर्षों तक स्वीकार कर लिया गया है। –

+0

हाँ, यह धन्यवाद –

0

सबसे आसान तरीका setInterval("x++",1000);, जहां x++ अपने वेतन वृद्धि के साथ प्रतिस्थापित किया जा सकता है। उदाहरण:

जावास्क्रिप्ट/jQuery

var x=0; 

setInterval("x++",1000); // Increment value every second 

// Let's just add a function so that you can get the value 
$(document).ready(function() { 
    $("#showval").click(function(){ 
    alert(x); 
    }); 
}); 

एचटीएमएल

<a href="#" id="showval">Show value</a> 
+0

'setInterval (" x ++ ", 1000);' एक अंतर्निहित eval() का उपयोग करता है। ज्यादातर मामलों में यह कोई समस्या नहीं है, लेकिन क्या यह तकनीकी रूप से सुरक्षा जोखिम नहीं है? –

+0

यदि यह था, तो उन्होंने इसे अक्षम क्यों नहीं किया? यह एक चर को बढ़ाने का सबसे आसान तरीका है। –

0

एक बेहतर तरीका बंद समारोह के माध्यम से है:

function setIntervalTimes(i_func, i_sleep, i_timesRun){ 
     var timesRun = 0; 
     var interval = setInterval(function(){ 
      timesRun += 1; 
      if(timesRun === i_timesRun){ 
       clearInterval(interval); 
      } 
      i_func(); 
     }, i_sleep); 
    }, 
+0

क्या आप समझा सकते हैं कि स्वीकार्य उत्तर से यह बेहतर क्यों है? – AXL

0

समारोह टाइमर (सेको एनडीएस, तत्व)
लेखक: ZMORA JLB
ईमेल: zmorajlb [बंदर] gmail.com

शामिल पैक समारोह टाइमर:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+ ((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)) {while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'}; c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2 p=\'- s tńu -\';h m(c){2 g=d.f(c/r);2 i=d.f((c/e)%e);2 8=c%e;2 4=\'\';7(g>0){4=4+\'\'+g+\' w \'}7(i>0){4=4+\'\'+i+\' q \'}7(8>0){4=4+\'\'+8+\' v\'}y 4}h D(8,j,E){2 l=b a();2 5=b a();2 o=b a();2 9=b a();9=8;l=(x*d.f(d.B()*6)+1)*3;5=0;o=A(h(){k=9-5;7(5<9){5++}7(5==9){$(\'#\'+j).n(p)}z{$(\'# \'+j).n(m(k))}},C)}',41,41,'||var||out|counter||if|seconds|destination|Array|new|val|Math|60|floor|hours|function|minutes|element|remaining|number|secondsToText|html|interval|end_text|minut|3600|budowa|zako|czona|sekund|godzin|33|return|else|setInterval|random|1000|timer|method'.split('|'),0,{})) 

उपयोग

$(document).ready(function() { 
timer(8, 'time1'); // seconds and element 
timer(3605, 'time2'); // seconds and element 
}); 

first: <span>Counting "8" seconds</span> 
<span id="time1">--:--</span> 

दूसरा: गिनती "3605" सेकंड -: -

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