Foros del Web » Programando para Internet » Javascript »

Cambiar opacidad de elemento para todos los navegadores.

Estas en el tema de Cambiar opacidad de elemento para todos los navegadores. en el foro de Javascript en Foros del Web. Hola amigos. Os cuento mi problema. Necesito cambiar mediante Javascript la opacidad de algunos elementos. Si creo una clase CSS tal que así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 19/02/2010, 15:13
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Cambiar opacidad de elemento para todos los navegadores.

Hola amigos.
Os cuento mi problema. Necesito cambiar mediante Javascript la opacidad de algunos elementos. Si creo una clase CSS tal que así:

Código CSS:
Ver original
  1. .clase {
  2. -moz-opacity: 0.5;
  3. opacity: 0.5;
  4. filter:alpha(opacity=50);
  5. }
Funciona correctamente en todos los navegadores. Cambiando la clase con javascript me va perfecto, pero ahora no puedo cambiar la clase, sino que necesito cambiar el estilo de opacidad. He probado estos códigos:

Código Javascript:
Ver original
  1. document.getElementById('oscurecer').style.MozOpacity='0.5';
  2. document.getElementById('oscurecer').filters.alpha.opacity='50';
  3. document.getElementById('oscurecer').style.opacity='50';

Pero no me funciona :(
Cómo hacéis vosotros?

Muchas gracias.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #2 (permalink)  
Antiguo 19/02/2010, 15:34
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Queres que mediante un evento, cambiarle el nombre de clase a un elemento?
Código Javascript:
Ver original
  1. document.getElementById('tuId').className = 'clase';

No se sera eso lo q necesitas...
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 19/02/2010, 15:36
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

He estado indagando un poco más, pero no doy con la solución. Ahora mismo el código que he hecho es el siguiente:
Código Javascript:
Ver original
  1. for(opacidad=0,tiempo=25; opacidad<=60; opacidad+=5,tiempo+=25) {
  2.         setTimeout("document.getElementById('oscurecer').style.MozOpacity='0."+opacidad+"'",tiempo);
  3.         setTimeout("document.getElementById('oscurecer').style.opacity='0."+opacidad+"'",tiempo);
  4.         setTimeout("document.getElementById('oscurecer').style.KHTML='0."+opacidad+"'",tiempo);
  5.         setTimeout("document.getElementById('oscurecer').style.filter='alpha(opacity="+opacidad+")'",tiempo);
  6.     }

Por lo que veo, esto es correcto, pero no funciona :( Lo tengo mezclado en el mismo código con esto que SÍ funciona:
Código Javascript:
Ver original
  1. for(alto=5,tiempo=25; alto<=120; alto+=5,tiempo+=25) {
  2.         setTimeout("document.getElementById('capaBusqueda').style.height='"+alto+"px'",tiempo);
  3.     }
Saludos y gracias
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 19/02/2010, 15:36
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Cita:
Iniciado por jackson666 Ver Mensaje
Queres que mediante un evento, cambiarle el nombre de clase a un elemento?
Código Javascript:
Ver original
  1. document.getElementById('tuId').className = 'clase';

No se sera eso lo q necesitas...
No gracias, pero eso es lo que sí me funcionaba, pero ahora no me sirve. Gracias de todas formas :(
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 19/02/2010, 15:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Hola:

MozOpacity creo que ya lo puedes descartar porque ya se ha estandarizado opacity... y para explorer la cadena es distinta: filter = "alpha(opacity=50)"...

Tengo un ejemplo aquí: Pseudo-lightbox

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 19/02/2010, 15:39
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

MozOpacity creo que ya lo puedes descartar porque ya se ha estandarizado opacity... y para explorer la cadena es distinta: filter = "alpha(opacity=50)"...

Tengo un ejemplo aquí: Pseudo-lightbox

Saludos
Sí, el filter lo he cambiado. Pero fíjate que también meto opacity y tal. He cambiado 0.'+variable Por variable / 100:
Código Javascript:
Ver original
  1. for(opacidad=0,tiempo=25; opacidad<=60; opacidad+=5,tiempo+=25) {
  2.         setTimeout("document.getElementById('oscurecer').style.MozOpacity='"+opacidad/100+"'",tiempo);
  3.         setTimeout("document.getElementById('oscurecer').style.opacity='"+opacidad/100+"'",tiempo);
  4.         setTimeout("document.getElementById('oscurecer').style.KHTML='"+opacidad/100+"'",tiempo);
  5.         setTimeout("document.getElementById('oscurecer').style.filter='alpha(opacity="+opacidad+")'",tiempo);
  6.     }
Y tampoco......
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #7 (permalink)  
Antiguo 19/02/2010, 15:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Hola:

Pero en qué navegadores falla...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 19/02/2010, 16:35
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Ahora mismo en Firefox 3.6.2, Konqueror 4.4.00 y Chromium 5.0.33

Saludos y gracias :)
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #9 (permalink)  
Antiguo 19/02/2010, 19:12
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Cambiar opacidad de elemento para todos los navegadores.

Ya funciona. El código está bien:
Código Javascript:
Ver original
  1. #
  2.         setTimeout("document.getElementById('oscurecer').style.MozOpacity='"+opacidad/100+"'",tiempo);
  3. #
  4.         setTimeout("document.getElementById('oscurecer').style.opacity='"+opacidad/100+"'",tiempo);
  5. #
  6.         setTimeout("document.getElementById('oscurecer').style.KHTML='"+opacidad/100+"'",tiempo);
  7. #
  8.         setTimeout("document.getElementById('oscurecer').style.filter='alpha(opacity="+opacidad+")'",tiempo);

Mi problema estaba en el css, que en lugar de dos puntos (:) puse punto y coma (;) y me cortaba todo.

Mil gracias amigos! La mayoría de los errores son una tontería.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: navegadores, opacidad
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 16:00.