Comunidad de diseño web y desarrollo en internet online

Alterar estilos con javascript q estan en un archivo externo

Citar            
MensajeEscrito el 07 Abr 2010 11:36 am
Estoy intentando sacar una pagina web en la que el HTML, el CSS y el javascript esten por separado cada cual en su archivo correspondiente. El archivo de javascript tiene una serie de funciones para modificar el estilo del HTML según el evento, pero para ello antes tiene que saber que estilo hay y actuar en consecuencia.

El problema radica en que no consigo que javascript lea los estilos que tiene el elemento al cargar la pagina (parece ser que es porque se cargan en un archivo aparte y no con el atributo style con el que no da problemas). ¿Como puedo hacer para que javascript lea los estilos del elemento estando estos en un archivos CSS externo al HTML?

Gracias a todos por las molestias^^

Dejo los codigos a continuacion:

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title>Ejercicios con DOM y BOM</title>
   <link href="estilos.css" type="text/css" rel="stylesheet" media="screen" />
   <script src="javascript.js" type="text/javascript"></script>
</head>

<body>
<div id="contenedor">
<noscript>ACTIVA JAVASCRIPT PARA VER LA PAGINA CORRECTAMENTE</noscript>
   <div id="cajaTexto">
      <p>Esto es un ejemplo para modificar el color y tamaño de esta
      caja que contiene al texto cuando se haga click sobre ella, 
      se cambiará lo siguiente:
      </p>
      <ul>
         <li>Ancho del borde</li>
         <li>Color del borde</li>
         <li>Ancho de la caja</li>
      </ul>
   </div>
</div>
</body>
<html>


Código :

body{
font:.8em arial, san-serif;
}

div div p{
text-indent:3em;
margin:0;
padding:10px;
}

#contenedor{
width:500px;
margin:50px auto;
}

#cajaTexto{
margin:0 auto;
border:20px solid #E66;
background:#FDD;
width:460px;
}


Código Javascript :

function cambiarCaja(){
   alert(cajaTexto) //Este alert me indica que si obtiene el elemento a modificar
   alert(cajaTexto.style.width); // Pero ya en este alert no me muestra nada en pantalla
   
   if (cajaTexto.style.width=="460px"){
      cajaTexto.style.width="300px";
      cajaTexto.style.border="10px double #6E6"
      cajaTexto.style.backgroundColor="#DFD";
   }else{
      cajaTexto.style.width="460px";
      cajaTexto.style.border="20px solid #E66";
      cajaTexto.style.backgroundColor="#FDD";
   }
}

window.onload=function(){
   cajaTexto=document.getElementById("cajaTexto");
   cajaTexto.onclick=cambiarCaja;
}

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Abr 2010 12:38 am
No se si sea esto pero para realizar la comparación entre cadenas en javascript debes usar === en lugar de ==, asi que cambia el if de cambiarCaja.
Saludos

Por bucle_infinito

Claber

166 de clabLevel

1 tutorial

 

.NET Developer

firefox
Citar            
MensajeEscrito el 08 Abr 2010 08:58 am
No es del todo esacto, === es el comparador estricto es decir, tanto un termino como el otro en la comparacion deben coincidir en valor y tipo de variable (si es numerica, de cadena, etc...), mientras que con el operador == tan solo debe coincidir el valor.

De todas formas esa opcion ya la prove, solo por descartar posibilidades, y no funciono

Por noctam

Claber

197 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.