Añadiendo y quitando estilos, con addClass y removeClass en jQuery
31 oct
Hoy vamos a enseñaros estas funciones de jQuery con las que podemos añadir y quitar estilos en nuestros sitios web de forma muy sencilla.
Las podemos utilizar en formularios, en menús, en imágenes, etc.
Vamos a enseñaros un ejemplo con un formulario, para darle un toque algo más vistoso y validando los campos.
Primero vamos a crear los 3 estilos distintos para el formulario, que vamos a ir añadiendo y quitando con distintos eventos.
.input_text {
background:#FFF;
width:150px;
height:22px;
line-height:22px;
padding:4px;
border:1px solid #999;
}
.input_text_encima {
width:148px;
height:20px;
line-height:20px;
border:2px solid #00CC00;
color:#009900;
}
.input_text_dentro {
width:148px;
height:20px;
line-height:20px;
border:2px solid #00CC00;
color:#000000;
background:#e3e3e3;
}
.input_text_error {
width:148px;
height:20px;
line-height:20px;
border:2px solid #FF0000;
color:#FF0000;
}
Ahora vamos a cambiar el estilo del formulario al pasar por encima del campo y al salir fuera con addClass y removeClass:
$(".input_text").mouseenter(function() {
$(this).addClass("input_text_encima");
});
$(".input_text").mouseleave(function() {
$(this).removeClass("input_text_encima");
});
Al pasar el ratón por encima del campo le añadiremos la clase input_text_encima al campo con addClass y al sacar el ratón fuera del campo, le quitaremos la clase input_text_encima con removeClass.
Ahora vamos a cambiar el estilo del formulario al entrar en el campo o presionar el campo para editarlo, le añadiremos la clase input_text_dentro y se la quitaremos al salir del campo o presionar fuera.
$(".input_text").focus(function() {
$(this).addClass("input_text_dentro");
});
$(".input_text").blur(function() {
$(this).removeClass("input_text_dentro");
});
Ahora vamos a validar los 2 campos del formulario. En vez de mostrar el mensaje de error en un alert, vamos a cambiar el estilo del campo para indicar que el campo no ha sido rellenado correctamente.
$("#formulario").submit(function () {
if($("#nombre").val().length < 5) {
$("#nombre").addClass("input_text_error");
return false;
}
if($("#telefono").val().length < 9) {
$("#telefono").addClass("input_text_error");
return false;
}
return false;
});

Comentarios