Modificando la CSSYa hemos adelantado que con JQuery podemos modificar el DOM a nuestro antojo, y los estilos y clases CSS no iban a quedar fuera. Las clases más interesantes para manejo de CSS con JQuery son:
Para mostrar cómo modificar dinámicamente la css aplicada a uno o más elementos vamos a introducir un concepto previo: sprites. Los sprites son pequeñas imágenes agrupadas en una única imagen, pensada para mostrar parcialmente. De esta forma podemos mostrar distintas imágenes en una página web cargando un único archivo de imagen, con lo cual reducimos el tráfico y el tiempo de carga de la página. Partimos de una simple página web con un div y un select. El div tiene asignado una imagen de fondo como la mostrada a continuación: Tenemos una clase común que simplemente fuerza el tamaño del div para que solo se vea uno de los iconos y establece la imagen de fondo: div.sprite{ Para complementar esta clase se le suman otras 9, una por cada icono que queramos mostrar. Así por ejemplo la clase para mostrar la flecha hacia la derecha de color verde será: div.Right_V{ background-position:-40px -80px; } Podemos imaginar el div como una ventana, que me permite ver el fondo. Si ponemos la imagen de fondo en esas coordenadas se moverá hacia arriba y hacia la izquierda, alineando nuestra ventana con la imagen de la flecha verde.
Para realizar este ejemplo basta con añadir un select con las distintas clases como valores <select onchange="SetClass(this.value)"> Y escribir la sentencia SetClass para que busque el div correspondiente y le cambie la clase. Tan sencillo cómo esto: <script type="text/javascript"> No utilizamos ninguna función específica de CSS porque lo que necesitamos es sobre escribir completamente el atributo class. Con las funciones de CSS podríamos añadir clases a las existentes o eliminarlas por nombre, pero no substitución directa. Puede consultarse el código completo del ejemplo en la página incluida en el siguiente iframe. |