Foros del Web » Programando para Internet » Javascript »

compatibilidad con firefox

Estas en el tema de compatibilidad con firefox en el foro de Javascript en Foros del Web. Hola a todos, tengo este fragmento de codigo, que funciona correctamente en IEplorer, pero mu gustaria saber porque no funciona en Firefox, y que deberia ...
  #1 (permalink)  
Antiguo 05/01/2009, 20:50
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
compatibilidad con firefox

Hola a todos, tengo este fragmento de codigo, que funciona correctamente en IEplorer, pero mu gustaria saber porque no funciona en Firefox, y que deberia hacer para que lo hiciese... gracias
Cita:
<html>
<head>
<meta>
<title>tienda</title>
</head>
<STYLE>
.coverstyle {
position:absolute;
left:0px;
width:900;
height:110px;
background-color:black;
filter:alpha(opacity=0,finishopacity=100,style=2,s tartX=0px,startY=0px,finishX=400px,finishY=100px);
}
</STYLE>
<script language="javascript">



function mover() {
x=parseInt(Capa.style.left);
if (x < 990)
Capa.style.left=x+2;
else
Capa.style.left=-800;

setTimeout("mover()",2);
}

</script>
<body bgcolor=#000000 onLoad="mover()">
<div id="Capa" style="position:absolute; width:900; height:100px; border:1; left: -920px; top: 10px;border:2px solid">
<div align="center"><img src="tienda.jpg" name="Imagen" align="middle"></div>
</div>
<div id="cover" class="coverstyle"></div>
</body>
</html>
  #2 (permalink)  
Antiguo 05/01/2009, 21:31
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: compatibilidad con firefox

El problema del código javascript, es cómo estás accediendo al div.

En vez de hacerlo por medio de referencias de ".", deberías hacerlo con el seleccionador standard document.getElementById().

Entonces, tu función sería:

Código javascript:
Ver original
  1. function mover()
  2. {
  3.     x=parseInt(document.getElementById('Capa').style.left);
  4.     if (x < 990)
  5.         document.getElementById('Capa').style.left=x+2;
  6.     else
  7.         document.getElementById('Capa').style.left=-800;
  8.    
  9.     setTimeout("mover()",2);
  10. }

Con eso debería moverse como corresponde.

Y para las transparencias, busca el equivalente standarizado, que es el que va a funcionar con Firefox, Opera, etc. El que tienes agregado ahora es el que funciona solamente para IE, tienes que cubrir también el otro espectro.
De eso ya no estoy tan seguro de cómo se hace, así que no puedo brindarte una ayuda directa.

Saludos
  #3 (permalink)  
Antiguo 06/01/2009, 12:56
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: compatibilidad con firefox

Agrego que debes ademas especificar la unidad en pixeles para que funcione correctamente.

Código javascript:
Ver original
  1. function mover()
  2.       {
  3.           x=parseInt(document.getElementById('Capa').style.left);
  4.           if (x < 990)
  5.               document.getElementById('Capa').style.left = ( x+2 ) + "px";
  6.           else
  7.               document.getElementById('Capa').style.left = -800  + "px";
  8.  
  9.           setTimeout("mover()",2);
  10.       }

Exitos
  #4 (permalink)  
Antiguo 08/01/2009, 05:59
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: compatibilidad con firefox

ahora el unico problema es encontrar el filtro degradado. he encontrado varias paginas que dan la instruccion "-moz-opacity:XXXX;" pero no es suficiente, lo que busco es que haya un paso de opacidad 0 a 100 a lo largo del filtro...
  #5 (permalink)  
Antiguo 08/01/2009, 07:17
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: compatibilidad con firefox

Para eso tendrás que usar canvas y createLinearGradient. Fijate en esta faq:http://www.forosdelweb.com/2567921-post275.html
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 06:31.