Foros del Web » Programando para Internet » Javascript »

demorar un for(){}

Estas en el tema de demorar un for(){} en el foro de Javascript en Foros del Web. hola, tengo esta function que la llamo en onmouseover: Código: function gff(donde){ cambiar = document.getElementById('gff'); for(i=25;i>=0;i--){ cambiar.style.backgroundPosition = '0px ' + i + 'px' } ...
  #1 (permalink)  
Antiguo 19/05/2006, 14:16
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
demorar un for(){}

hola, tengo esta function que la llamo en onmouseover:

Código:
function gff(donde){
	cambiar = document.getElementById('gff');
	for(i=25;i>=0;i--){
		cambiar.style.backgroundPosition = '0px ' + i + 'px'
	}
}
Si cambia el backgroundPosition, pero lo hace sin mostrar los pasos intermedios (sólo veo que se mueve de un lugar al otro).

¿Como haría para que cada vuelta del for se haga en, digamos, 75 milisegundos?
__________________
...___...
  #2 (permalink)  
Antiguo 19/05/2006, 14:19
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 5 meses
Puntos: 0
setTimeout ("cambiar.style.backgroundPosition = '0px ' + i + 'px'", 500);

eso va a ejecutar el codigo luego de pasados medio segundo
  #3 (permalink)  
Antiguo 19/05/2006, 14:26
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Uhmmm es que eso ya lo había intentado (también con setInterval -lo siento, me olvidé de decirlo antes-) y hace lo mismo que el código mostrado arriba pero con una demora de 1/2 segundo
__________________
...___...
  #4 (permalink)  
Antiguo 19/05/2006, 15:01
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Ya está:


Código:
function gff1(i){
	cambiar = document.getElementById('gff');
	if(i>=0 && i<=25){
		cambiar.style.backgroundPosition = '0px ' + i + 'px'
		i = i - 1;
		setTimeout("gff1(" + i + ")", 0);
	}
}

no sé si es lo mejor, pero así funciona :)
__________________
...___...
  #5 (permalink)  
Antiguo 19/05/2006, 22:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 5 meses
Puntos: 0
pero ahi le pusiste tiempo 0, en vez de 500 le ponias 75 y tenias 75 milisegundos, lo manejas vos.
  #6 (permalink)  
Antiguo 20/05/2006, 09:47
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Uhmmm es que eso ya lo había intentado (también con setInterval -lo siento, me olvidé de decirlo antes-) y hace lo mismo que el código mostrado arriba pero con una demora de 1/2 segundo
Cita:
var t;
var i=24;
function gff1(){
cambiar = document.getElementById('gff');
cambiar.style.backgroundPosition = '0px ' + i + 'px'
if(i>=0 && i<=25){i--;}else{i=24;clearInterval(t);}
}
En lo posible no colocar en el setInterval un timpo de 0 porque en IE no va( creo que ese podría haber sido un problema).

saludos
__________________
by Capitán Buscapina
.
  #7 (permalink)  
Antiguo 20/05/2006, 13:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Bueno, no sé, pero así como lo coloqué arriba funciona en IE y en FF.
Una muestra aquí (es el "get firefox" de arriba a la derecha, pero sólo disponible para IE... porque con Firefox no tendría sentido :p)
__________________
...___...
  #8 (permalink)  
Antiguo 20/05/2006, 14:06
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
es el "get firefox" de arriba a la derecha, pero sólo disponible para IE... porque con Firefox no tendría sentido

en opera tampoco está disponible.(aunque pensándolo tampoco tendría sentido )



De todas formas está quedando


__________________
by Capitán Buscapina
.
  #9 (permalink)  
Antiguo 21/05/2006, 02:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por Al Zuwaga
Una muestra aquí (es el "get firefox" de arriba a la derecha, pero sólo disponible para IE... porque con Firefox no tendría sentido :p)
Oye, qué bueno, me gustó
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 18:11.