Cambiar la clase CSS de un elemento con DOM
Este ejemplo tiene múltiples aplicaciones: cambiar el aspecto de la página web, aumentar el tamaño del texto, cambiar el aspecto de un botón si a través de él hemos cargado contenido (este uso lo daré en un próximo tutorial), mostrar u ocultar elementos, etc. Supongamos que tenemos un div con una clase "aspecto1" y que al pulsar sobre un enlace este div cambie a una clase "aspecto2".
Me valgo de una función que recoge el id como parámetro y que le cambia el estilo: Javascript:
function CambiarEstilo(id) {
var elemento = document.getElementById(id);
elemento.className = "aspecto2";
}
CSS:
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
background-color: #FFFFFF;
margin-left: 100px;
margin-right: 100px;
}
.aspecto1 {
border: 1px solid #CCC;
padding: 10px 5px 6px 5px;
background-color: #E4E4E4;
color: #666;
}
.aspecto2{
background-color:#F1D59E;
border: #F2BE84 5px solid;
color: #666;
font-family: "Lucida Sans Unicode", Verdana, Arial, Georgia;
font-size: 12px;
width:200px;
padding:10px;
}
HTML:
<p><a href="javascript:CambiarEstilo('EjCambioEstilo')">Cambiar</a></p>
<div id="EjCambioEstilo" class="aspecto1">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus mollis. Etiam aliquet. Ut ultrices justo ut arcu. Proin a purus. Fusce pharetra ultrices nibh. Nam erat lectus, dapibus id, congue vel, cursus a, tellus. Sed turpis ante, condimentum at, accumsan eget, pulvinar vitae, nibh. </p></div>
Ver ejemplo en funcionamiento » »
ACTUALIZACIÓN: Para que el elemento con un segundo clic volviese a su clase inicial tan sólo hay que averiguar en cada momento qué clase tiene y cambiar a una u otra en función de ello. De este modo, la función serÃÂa la siguiente:
function CambiarEstilo(id) {
var elemento = document.getElementById(id);
if (elemento.className == "aspecto1") {
elemento.className = "aspecto2";
}
else {
elemento.className = "aspecto1";
}
}
Ver ejemplo en funcionamiento » »
Algunas entradas relacionadas:
También te puede interesar:
| MySQL Sidu, cliente web de MySQL | LightShot: herramienta para realizar capturas de pantalla | Emastic CSS Framework | Crear paneles personalizados con WordPress | 130 variables del algoritmo de Google |























Josep Viciana en Twotiny Icon Set



