Foros del Web » Programando para Internet » Javascript »

Problemas IE con funcion cambio de estilos js

Estas en el tema de Problemas IE con funcion cambio de estilos js en el foro de Javascript en Foros del Web. Llevo tiempo con la programacion en javascript y hasta ahora no he tenido problemas...excepto ahora, con mi web. He creado una funcion javascript que me ...
  #1 (permalink)  
Antiguo 19/02/2008, 18:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 1
Problemas IE con funcion cambio de estilos js

Llevo tiempo con la programacion en javascript y hasta ahora no he tenido problemas...excepto ahora, con mi web.

He creado una funcion javascript que me cambia los estilos de una capa, en concreto los de tipo background. He probado varias cosas diferentes pero nada.

La cuestion es que me lo hace perfecto en todos los navegadores menos en IE, que desaparece la capa.

Os dejo el codigo a ver si a alguien se le ocurre algo.

function muestra_imagen(archivo){

document.getElementById('ampliacion').style.backgr ound = archivo;
document.getElementById('ampliacion').style.backgr oundRepeat = "no-repeat";
document.getElementById('ampliacion').style.backgr oundPosition = "center";
document.getElementById('ampliacion').style.backgr oundColor = "white";
document.getElementById('ampliacion').style.border Left="1px solid grey";
document.getElementById('ampliacion').style.border Right="1px solid grey";
}


Mil Gracias.
  #2 (permalink)  
Antiguo 19/02/2008, 18:54
 
Fecha de Ingreso: diciembre-2007
Ubicación: Argentina
Mensajes: 151
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Problemas IE con funcion cambio de estilos js

Puedes probar cambiando el nombre del class sobre el elemento:

Por ejemplo:

document.getElementById('miElemento').className = 'nuevaclase'

y defines las nuevas propiedades para ese class

Suerte!!!
  #3 (permalink)  
Antiguo 20/02/2008, 17:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Problemas IE con funcion cambio de estilos js

El problema es que tendria que crear una clase por cada background que quiera cambiar. Y de momentos tengo unos 50 background --> por lo tanto, 50 clases.

Eso sería sumarle mucho peso a la web.

Pero gracias de todas formas.

Un saludo.
  #4 (permalink)  
Antiguo 20/02/2008, 17:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problemas IE con funcion cambio de estilos js

Hola:

No especificas bien tu problema, pero las imágenes de fondo se ponen así:
document.getElementById('ampliacion').style.backgr oundImage = "url(" + archivo + ")";

Y no estoy muy seguro de que grey lo soporte explorer (gray sí... no tengo dudas...) verás, los colores y muchas otras cosas tiene mozilla mucho mejor soporte...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 24/02/2008, 07:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Problemas IE con funcion cambio de estilos js

sip. lo del "backgroundImage" ha sido un fallo tonto.

La cuestion es que esta función me cambia el fondo de una imagen al pinchar en determinado sitio, por lo que le paso como parametro la funcion muestra_imagen("ruta_del_archivo_a_mostrar").

El caso es que me lo hace bien en Firefox y en Opera, pero no me lo hace bien es IE.

Directamente no me cambia nada. E ahí mi problema.

Código función:

function muestra_imagen(archivo){

document.getElementById('ampliacion').style.backgr oundImage = archivo;
document.getElementById('ampliacion').style.backgr oundRepeat = "no-repeat";

Saludos!
document.getElementById('ampliacion').style.backgr oundPosition = "center";
document.getElementById('ampliacion').style.backgr oundColor = "white";
document.getElementById('ampliacion').style.border Left="1px solid gray";
document.getElementById('ampliacion').style.border Right="1px solid gray";
}
Código capa donde llama a función:

<img onclick="javascript:muestra_imagen('url(imagenes/foto1.jpg);')"

onMouseOver="opacity('img_923',40,100,500);"

src="imagenes/thumbs/foto1_t.jpg" id="img_923"
>
  #6 (permalink)  
Antiguo 24/02/2008, 07:33
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
Re: Problemas IE con funcion cambio de estilos js

Quizá te convenga una función que te permita agregar estilos css tal como los escibirías en css. Ejemplo:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
addCss(cssCode) {
    var 
styleElement document.createElement("style");
    
styleElement.type "text/css";
    if (
styleElement.styleSheet) {
        
styleElement.styleSheet.cssText cssCode;
    } else {
        
styleElement.appendChild(document.createTextNode(cssCode))
    }
    
document.getElementsByTagName("head")[0].appendChild(styleElement);

</script>

</head>

<body>
<div id="pp" onclick="addCss('#pp{border:1px solid gray; background:url(document_excel.gif)}')">algo</div>
</body>
</html> 
  #7 (permalink)  
Antiguo 24/02/2008, 08:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Problemas IE con funcion cambio de estilos js

Tendría el mismo problema que me dijo "codigojavascript", y es que tendría que crear tantos css como imagenes quiera mostrar y tengo unas 50 por ahora, ya que cada funcion que aplico en el onclick de cada capa tiene un parametro diferente, que seria en este caso la ruta de la imagen.

En "teoria" el código deberia funcionar en IE, pero algo se me escapa

De todas formas muchas gracias.

Si consigo "argo" lo pondre aqui.

Un saludo.
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 01:41.