Foros del Web » Programando para Internet » Javascript »

parar setTimeout!!

Estas en el tema de parar setTimeout!! en el foro de Javascript en Foros del Web. Hola, he creado una funcion para que me genere imagenes siempre en el mismo orden, pero no se como deterner las funciones setTimeout para poder ...
  #1 (permalink)  
Antiguo 24/05/2006, 08:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 70
Antigüedad: 18 años
Puntos: 0
parar setTimeout!!

Hola, he creado una funcion para que me genere imagenes siempre en el mismo orden, pero no se como deterner las funciones setTimeout para poder elegir las imagenes aleatorias.

Aqui os dejo el codigo:

<html>
<head>
<script>

var valor=0;
var valor1=0;
var valor3=0;

var i=0;
var freno=10;
var freno1=10;
var freno3=10;




function cambio()
{

if (valor==5)
valor=0;

switch (valor)
{
case 0:
img.src="rooney.gif";
break;
case 1:
img.src="henry.gif";
break;
case 2:
img.src="zidane.gif";
break;
case 3:
img.src="ronaldinho.gif";
break;
case 4:
img.src="cronaldo.gif";
break;
}

valor++;

if (freno!=0)
{
setTimeout("cambio();",500);
}
}





function cambio1()
{

if (valor1==5)
valor1=0;

switch (valor1)
{
case 0:
img1.src="henry.gif";
break;
case 1:
img1.src="rooney.gif";
break;
case 2:
img1.src="ronaldinho.gif";
break;
case 3:
img1.src="cronaldo.gif";
break;
case 4:
img1.src="zidane.gif";
break;
}

valor1++;
if (freno1!=0)
setTimeout("cambio1();",400);
}








function cambio3()
{

if (valor3==5)
valor3=0;

switch (valor3)
{
case 0:
img2.src="cronaldo.gif";
break;
case 1:
img2.src="ronaldinho.gif";
break;
case 2:
img2.src="henry.gif";
break;
case 3:
img2.src="zidane.gif";
break;
case 4:
img2.src="rooney.gif";
break;
}

valor3++;
if (freno3!=0)
setTimeout("cambio3();",300);
}





function parada()

{

freno=valor;


for (i=0;i<5;i++)
{

if (freno==4)
freno=0;

switch (freno)
{
case 0:
img.src="rooney.gif";
break;
case 1:
img.src="henry.gif";
break;
case 2:
img.src="zidane.gif";
break;
case 3:
img.src="ronaldinho.gif";
break;
case 4:
img.src="cronaldo.gif";
break;
}

freno++;


}

}




function parada1()

{

freno1=valor;

for (i=0;i<10;i++)
{

if (freno1>5)
freno1=0;

switch (freno1)
{
case 0:
img.src="rooney.gif";
break;
case 1:
img.src="henry.gif";
break;
case 2:
img.src="zidane.gif";
break;
case 3:
img.src="ronaldinho.gif";
break;
case 4:
img.src="cronaldo.gif";
break;
}

freno1++;


}


}





function parada3()

{


freno3=valor;

for (i=0;i<15;i++)
{

if (freno3>5)
freno3=0;

switch (freno3)
{
case 0:
img.src="rooney.gif";
break;
case 1:
img.src="henry.gif";
break;
case 2:
img.src="zidane.gif";
break;
case 3:
img.src="ronaldinho.gif";
break;
case 4:
img.src="cronaldo.gif";
break;
}

freno3++;


}


}



</script>
</head>
<body>
<center>
<img name="img" src="interrogacion.gif">
<img name="img1" src="interrogacion.gif">
<img name="img2" src="interrogacion.gif">

<center>
<br><br>
<input type="button" value="jugar" name="inicio" onClick=cambio();cambio1();cambio3();>
<input type="button" value="detener" name="fin" onClick=parada();parada1();parada3();>
</body>
</html>


muxas gracias ^^
  #2 (permalink)  
Antiguo 24/05/2006, 08:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

setTimeout solo se ejecuta una vez, y hay que hacer una llamada recursiva para que se siga ejecutando, así que con no velver a hacer la llamada puede ser suficiente, pero también existe clearTimeout... y como parámetro la variable a la que se asigna el setTimeout...

var repe = setTimeout("miFuncion()", retardo);
...
clearTimeout(repe);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:50.