Foros del Web » Programando para Internet » Javascript »

Retardo con javascript en firefox

Estas en el tema de Retardo con javascript en firefox en el foro de Javascript en Foros del Web. hola, Estoy usando la función de dreamweaver para cambiar todas las imágenes de una página, es para hacer un efecto de cambio de color y ...
  #1 (permalink)  
Antiguo 17/02/2010, 11:27
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 22 años, 3 meses
Puntos: 4
Retardo con javascript en firefox

hola,

Estoy usando la función de dreamweaver para cambiar todas las imágenes de una página, es para hacer un efecto de cambio de color y al mismo tiempo estoy cambiando el color del background. En mi ordenador todo se ve perfecto pero en el de mi cliente hay un retardo entre el cambio de imágenes y el color del fondo, será por que lo procesa más lento.

La pregunta es, hay alguna manera, de hacer que esto no suceda, vamos, lograr que todo cambie al mismo tiempo? pongo el código que estoy usando:

Código:
<script type="text/javascript">
<!--

//esto es para cambiar el color del borde de la capa

function cambia(id,color){
	var doc = document.getElementById(id);
	doc.style.borderColor = color;
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
   
}

function cambiafondo(color) {document.bgColor = color;}

//-->
</script>
y el boton que quiero que haga el cambio es este:

Código:
<img src="imgs/logo.png" alt="Logo Pilotik" name="pilotik" width="322" height="90" id="pilotik" onmouseover= "cambiafondo('BLACK'); cambia('header','#888888'); MM_swapImage('pilotik','','imgs/gris/logo.png','somos','','imgs/gris/somos.png','disenadores','','imgs/gris/disenadores.png','blog','','imgs/gris/blog.png','showroom','','imgs/gris/showroom.png','trajes','','imgs/gris/trajes.png','direccion','','imgs/gris/direccion.png',1); " onmouseout="MM_swapImgRestore(); cambiafondo('WHITE'); cambia('header','#000000');" />
desde ya muchas gracias
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #2 (permalink)  
Antiguo 17/02/2010, 11:48
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Retardo con javascript en firefox

creo que es porque desde localhost es más rápido, en cambio desde un servidor normal, el retardo se debe a la carga de las imágenes, podrías precargarlas ocultamente en un div con el CSS: position:absolute; visibility:hidden; para que no se vean al principio

además creo conocer ese código, la función MM_preloadImages lo hace, pero necesita un js externo que debes subir al servidor también
  #3 (permalink)  
Antiguo 17/02/2010, 12:47
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Retardo con javascript en firefox

Muchas gracias Mayco, pero creo que el problema va por otro lado, ya que yo también lo pruebo ya estando colgado en internet y no me pasa eso, y lo curiosso es que sólo pasa con firefox, n pasa ni con el Chrome ni con safari.

No sé que pueda ser...

sigooooo....
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #4 (permalink)  
Antiguo 17/02/2010, 13:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Retardo con javascript en firefox

al parecer el código no funciona en FF, tendrás que buscar otro similar que funcione, o aplicar el truco que te dije anteriormente
  #5 (permalink)  
Antiguo 17/02/2010, 13:59
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Retardo con javascript en firefox

Muchas gracias...

Lo voy a intentar y te cuento.

saludos
__________________
Temiqui Iztoc Cualtlia Elhuayotl

Etiquetas: firefox
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 19:52.