Foros del Web » Programando para Internet » Javascript »

(Solucionado)problema con funcion setTimeout en Internet Explorer 6

Estas en el tema de (Solucionado)problema con funcion setTimeout en Internet Explorer 6 en el foro de Javascript en Foros del Web. Buenas! Tengo un problema que solo se reproduce con esa versión de Internet Explorer. Está claro que lo mas facil es pasar de ese navegador, ...
  #1 (permalink)  
Antiguo 16/07/2009, 15:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
(Solucionado)problema con funcion setTimeout en Internet Explorer 6

Buenas!
Tengo un problema que solo se reproduce con esa versión de Internet Explorer.
Está claro que lo mas facil es pasar de ese navegador, está obsoleto y es totalmente infiable, pero sabiendo el porcentaje de maquinas con windows no originales y que solo tienen éste navegador lo veo bastante necesario.
Bueno voy al lio, uso esa funcion para:
Código javascript:
Ver original
  1. window.onresize=ejecutaAccion;
  2. window.onload=ejecutaAccion;
  3. var timerID=0;
  4. var ImagenGrande="";
  5. anchoVentana = document.documentElement.clientWidth;
  6. var tamanio = anchoVentana/13.61;
  7. var maximo=tamanio*1.5;
  8. function SumarUnoTamanio(Elemento)
  9. {
  10.     imagen=document.getElementById(Elemento);
  11.     imagen.width = imagen.width+1;
  12.     imagen.style.width=(imagen.width+1)+'px';
  13.     imagen.style.height = 'auto';
  14.     //imagen.height= imagen.width*aspecto;
  15.     if (imagen.width>=maximo)
  16.     {
  17.         window.clearTimeout(timerID);
  18.     }
  19.     else
  20.     {
  21.         AumentarTamanio(Elemento);
  22.     }
  23. }
  24. function RestauraTamanio(Elemento)
  25. {
  26.     imagen=document.getElementById(Elemento);
  27.     imagen.width = tamanio;
  28.     imagen.style.width = tamanio+'px';
  29.     window.clearTimeout(timerID);
  30. }
  31. function AumentarTamanio(Elemento)
  32. {  
  33.     imagen=document.getElementById(Elemento);
  34.     ImagenGrande=Elemento;
  35.     var codigo='SumarUnoTamanio(ImagenGrande)';
  36.     timerID = window.setTimeout(codigo,15,"JavaScript");
  37. }

Con esto consigo, excepto en IE6, que cada 15 milisegundos sume un pixel a la imagen hasta un limite,
el caso es que pongo incluso window.setTimeout("alert('hola')",10); y no sale dicho mensaje jamas.
Espero que me podais ayudar, un saludo y gracias por adelantado!

Última edición por angel9484; 17/07/2009 a las 00:38 Razón: Problema solucionado.
  #2 (permalink)  
Antiguo 16/07/2009, 17:51
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: problema con funcion setTimeout en Internet Explorer 6

Hola, tu setTimeout veo que tiene 3 parámetros, esa no me la sabia ehh.
Ps porque no intentas así:

js:
Código javascript:
Ver original
  1. timerID = window.setTimeout(function(){
  2.         SumarUnoTamanio(ImagenGrande);
  3.     },15);
Creo que te funcionara, y el tercer parametro como nose que es ps lo quite.
Y otra cosa aguas con al ambito de esa variable imagen.
SAludos
:D
__________________
Aerolíneas Alicia :D
  #3 (permalink)  
Antiguo 17/07/2009, 00:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Respuesta: problema con funcion setTimeout en Internet Explorer 6

Perfecto, todo solucionado en todos los navegadores, queda que la imagen al ser diferente de alto y ancho se convierte en una bola totalmente redonda en IE6 pero eso ya no me preocupa tanto.
La variable imagen era local, se llamaba igual en todas las funciones al no chocar entre ellas y ademas no tenia puesto la palabra var un poco por vaguería.
Muchas gracias por la solución, un saludo.
  #4 (permalink)  
Antiguo 17/07/2009, 06:13
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: (Solucionado)problema con funcion setTimeout en Internet Explorer 6

hola, puedes poner un script para que se actualizen:
http://code.google.com/p/ie6-upgrade-warning/
es recomendable para que entre todos podamos acabar con el ie6
saludoss
:]
__________________
Aerolíneas Alicia :D
  #5 (permalink)  
Antiguo 17/07/2009, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Respuesta: (Solucionado)problema con funcion setTimeout en Internet Explorer 6

Por supuesto, lo haré! ;)
  #6 (permalink)  
Antiguo 17/07/2009, 11:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Respuesta: (Solucionado)problema con funcion setTimeout en Internet Explorer 6

Buenas, tenia un problema y era que no podía verse esta capa bien, sale descuadrada, media capa fuera del IE desde el punto medio, y la otra mitad dentro, solo se veia el opera y el safari.
Lo he "arreglado" haciendo esto
Buscar:
Código javascript:
Ver original
  1. _dd.style.position = "absolute";
  2.     _dd.style.top = ((_height-_ddh)/2)+"px";
  3.     _dd.style.left = ((_width-_ddw)/2)+"px";
Reemplazar por:
Código javascript:
Ver original
  1. _dd.style.position = "absolute";
  2.     _dd.style.top = (0)+"px";
  3.     _dd.style.left = (0)+"px";
De todos modos lo he desactivado ya que no hay manera de cerrar o invisibilizar el div para aquellos que desean seguir navegando, que tambien tienen derecho xP
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 14:54.