Foros del Web » Programando para Internet » Javascript »

se me vuelve loca la imagen

Estas en el tema de se me vuelve loca la imagen en el foro de Javascript en Foros del Web. nuevamente vengo a hacer otra consulta que se me convirtio en un problema, tengo un codigo para que se pasen las imagenes automaticamente cada 2 ...
  #1 (permalink)  
Antiguo 06/05/2011, 18:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta se me vuelve loca la imagen

nuevamente vengo a hacer otra consulta que se me convirtio en un problema, tengo un codigo para que se pasen las imagenes automaticamente cada 2 segundos.. pero cuando salgo del foco de mi pagina y vuelvo es como que se vuelve loco y pasa rapidisimo, o frena y sigue pasando rapidisimo, entiendo que puede ser porque queda como en la pila por eso pongo el clearInterval pero nada.. pero bueno seguramente ustedes sabran mas que yo

Código HTML:
<html>
	<head>
		<link rel="stylesheet" title="Home" href="../css/estilo_home.css" />
		<script language="javascript">
			function cambiar_foto() {
				document.images["foto"].src = "../fotos/" + i + ".jpg";
				if (i < 5) i++;
				else i=1;
				clearInterval("cambiar_foto");
				setInterval("cambiar_foto()",2000);
			}
		</script>
	</head>
	<body>

		
		<div class="cuerpo">
			<div class="listado">
				<h4>Aca esta el listado</h4>
				<ul>
					<li>Caracteristica 1</li>
					<li>Caracteristica 2</li>
					<li>Caracteristica 3</li>
					<li>Caracteristica 4</li>
				</ul>
			</div>
			<div class="fotos">
				<img src="#" name="foto" height="300" width="550" alt="fotos de presentacion">
			</div>
		</div>
		<script language="javascript">
			i = 1;	
			window.onload = cambiar_foto;
		</script>
	</body>
</html> 
Saludos y muchas gracias..
  #2 (permalink)  
Antiguo 06/05/2011, 18:34
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: se me vuelve loca la imagen

Eso, creo, es porque cada vez que ejecutas la función se crea un nuevo setInterval de la función, así que te reomiendo que uses setTimeout en su lugar. Y por cierto, clearInterval/Timeout recibe como parámetro una variable que hace referencia a un temporizador de ese tipo, no un string. O sea:
Código Javascript:
Ver original
  1. var temp = setInterval(function(){
  2.  alert('Hola');
  3. }, 1000);
  4. setTimeout(function(){
  5.  clearInterval(temp);
  6. }, 3000);
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 06/05/2011, 18:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: se me vuelve loca la imagen

la verdad nuevamente gracias por la velocidad y por la respuesta.. en serio muchas gracias.. muy buena pagina de nuevo..

Saludos

Etiquetas: vuelve
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




La zona horaria es GMT -6. Ahora son las 23:06.