2010-06-15 12 views

Antwort

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

Außerdem, wenn Sie immer wieder brauchen, um sie auszuschalten, macht dies das möglich:

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

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

@ShintoJoseph - Wollen Sie damit sagen Sie nicht glauben, es sich auf das DOM fügt? Das war nicht die Frage, und diese Antwort wurde seit fast fünf Jahren akzeptiert. –

+0

ja, es funktioniert dank –

0

Der einfachste Weg ist setInterval("x++",1000);, wo x++ kann mit Ihrem Schritt ersetzt werden. Beispiel:

JavaScript/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); 
    }); 
}); 

HTML

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

'setInterval (" x ++ ", 1000);' verwendet eine implizite eval(). In den meisten Fällen ist das kein Problem, aber ist es nicht technisch ein Sicherheitsrisiko? –

+0

Wenn es war, warum haben sie es nicht deaktiviert? Es ist immer noch der einfachste Weg, eine Variable zu erhöhen. –

0

ein besserer Weg ist über geschlossene Funktion:

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

Können Sie erklären, warum ist das besser als die angenommene Antwort? – AXL

0

Funktion Timer (seco nds, Element)
Autor: Zmora JLB
E-Mail: zmorajlb [Affe] gmail.com

Fügen verpackt Funktion Timer:

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,{})) 

Verwendung

$(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> 

Sekunden: Zählung "3605" Sekunden -: -