setInterval(function(){}, 200)
este código ejecuta la función cada 200 milisegundos, ¿cómo hago si solo quiero que la función se ejecute 10 veces? Gracias por la ayuda.setInterval con tiempo de ciclo
setInterval(function(){}, 200)
este código ejecuta la función cada 200 milisegundos, ¿cómo hago si solo quiero que la función se ejecute 10 veces? Gracias por la ayuda.setInterval con tiempo de ciclo
utilizar un contador que se incrementa cada vez que la devolución de llamada es ejecutado, y cuando llega a su número deseado de ejecuciones, utilice clearInterval()
para matar el temporizador:
var counter = 0;
var i = setInterval(function(){
// do your thing
counter++;
if(counter === 10) {
clearInterval(i);
}
}, 200);
(function(){
var i = 10;
(function k(){
if(--i) {
setTimeout(k, 200);
}
})()
})()
+1 para usar 'setTimeout' en lugar de' setInterval'. Probablemente iría con 'var i = 10' y' if (i -) ', pero así soy yo :-) –
@AndyE, lol gracias. Es aún más hermoso ahora – Esailija
si desea que se ejecute de 10 veces y el tiempo que se debe ejecutar es cada 200 milisegundos después 200X10 = 2000
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
pero sólo se ejecuta 9 veces por lo que hay que sumar más de 200 milisegundos
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2200);
o se puede ejecutar antes de que el setInterval
yourfunction();
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
sé que no es seguro pero, la cosa es la idea detrás del código no cómo se hace lo siento mal Inglés – shadownrun
Sugiero no tomar el comentario alarmante anterior no demasiado en serio, pero en general se recomienda pasar una función . No vale la pena el hecho de que pasar por cadena es * comportamiento diferente * (es decir, busca la función en el alcance global) y todo lo que se admite en los navegadores más antiguos. –
Me gusta esta solución. Lo único que debe proporcionar para borrar es la variable para los tiempos de ejecución, y pasar el multiplicar como un segundo parámetro al 'setTimeout()'. –
3 signos de igualdad? –
@JeffreySweeney http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use – vcsjones
genial ... parece una buena solución. – bingjie2680