Mastercafe S.L.

Dirección: 

Pl. Puerta de Europa 2 - 1D 
Oviedo Asturias 
33011

Telefonos de contacto: 
Oficina:  +34 627 531 764
Tel:  985 11 3939
Fax:  985 11 5780 

Correo electronico:  

info@mastercafe.com

admin@mastercafe.com
 

 

ver mapa....

jQuery tutoriales haz más escribiendo menos

jQuery tutoriales y ejemplos

separador
21
Jul

Campo de buscar con filtro integrado

Relacionados: jQuery UI Form Filtro

Elementos UI

Search Box con Demo Filtro

En muchas ocasiones necesitamos crear menús que disponen de una gran cantidad de subelementos y esto hace realmente dificil asignarlos en una sola columna. La solución es agruparlos en varias columnas que a su vez sean simples listas incluidas en una sección que visualizamos.

En el ejemplo funcional superior demostramos como cada uno de los elementos se va a mostrar expandiendo la sección en curso y desplazando hacia abajo el contenido del submenú.

EL HTML

El código necesario es bastante simple, creamos una lista desordenada y dentro de cada uno de los elementos vamos a incluir una sección div que a su vez va a contener las distintas listas desordenadas de links

<div class="content">
            <h1>UI Elements</h1>
			<div class="box">
				<h2>Search Box con Demo Filtro</h2>
                <form id="ui_element" class="sb_wrapper">
                    <p>
						<span class="sb_down"></span>
						<input class="sb_input" type="text"/>
						<input class="sb_search" type="submit" value=""/>
					</p>
					<ul class="sb_dropdown" style="display:none;">
						<li class="sb_filter">Filtra la busqueda</li>
						<li><input type="checkbox"/><label for="all"><strong>Todas las categorias</strong></label></li>
						<li><input type="checkbox"/><label for="Automotive">Vehiculos</label></li>
						<li><input type="checkbox"/><label for="Baby">Infantil</label></li>
						<li><input type="checkbox"/><label for="Beauty">Belleza</label></li>
						<li><input type="checkbox"/><label for="Books">Libros</label></li>
						<li><input type="checkbox"/><label for="Cell">Servicios moviles</label></li>
						<li><input type="checkbox"/><label for="Cloth">Accesorios</label></li>
						<li><input type="checkbox"/><label for="Electronics">Electronica</label></li>
						<li><input type="checkbox"/><label for="Gourmet">Comida</label></li>
						<li><input type="checkbox"/><label for="Health">Cuidado personal</label></li>
						<li><input type="checkbox"/><label for="Home">Jardineria</label></li>
						<li><input type="checkbox"/><label for="Industrial">Industria</label></li>
						<li><input type="checkbox"/><label for="Jewelry">Joyas</label></li>
						<li><input type="checkbox"/><label for="Magazines">Revistas</label></li>
					</ul>
                </form>
            </div>
        </div>

Pocas explicaciones necesitamos sobre este modelo de menú, vamos con la parte que realmente nos ayuda a generar este menú visualmente

La CSS

La hoja de estilos podremos personalizarla a nuestro gusto o al aspecto y norma gráfica de nuestra web, pocos elementos son significativos. Destacar la posición absoluta de la caja principal y la caja dependiente del input de entrada. El resto será decoración de este mismo.

.sb_wrapper{
	margin:0;
	padding:0;
	position: absolute;
	top:80px;
	left:40px;
	width:372px;
}
.sb_wrapper input[type="text"],
ul.sb_dropdown{
	border:1px solid #fff;
	background: #fafafa; 
	background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#fafafa)); 
	background: -moz-linear-gradient(top, #f2f2f2, #fafafa);
	font-size:24px;
	font-family:"Myriad Pro", "Trebuchet MS", sans-serif;
	-moz-box-shadow:1px 1px 3px #555;
	-webkit-box-shadow:1px 1px 3px #555;
	-box-shadow:1px 1px 3px #555;
	outline:none;
	padding:6px 5px 6px 20px;
	text-shadow:1px 1px 1px #fff;
	width:295px;
	float:left;
	margin:3px 0px;
}
ul.sb_dropdown{
	float:left;
	list-style:none;
	width:360px;
	padding:6px 5px;
	-moz-border-radius:0px 0px 10px 10px;
	-webkit-border-bottom-right-radius:10px;
	-webkit-border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
	border-bottom-left-radius:10px;
}
ul.sb_dropdown li{
	font-size:16px;
	line-height:32px;
	height:32px;
	float:left;
	width:50%;
}
ul.sb_dropdown li input[type="checkbox"]{
	float:left;
	margin:10px 4px 0 5px;
}
ul.sb_dropdown li.sb_filter{
	width:348px;
	border:1px solid #f9f9f9;
	clear:both;
	background: #ddd;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:1px;
	color:#444;
	height:16px;
	line-height:16px;
	padding:5px;
	-moz-box-shadow:0px 0px 2px #777;
	-webkit-box-shadow:0px 0px 3px #555 inset;
	-box-shadow:0px 0px 3px #555 inset;

}
span.sb_up,
span.sb_down{
	position:absolute;
	top:3px;
	left:0px;
	width:14px;
	height:41px;
	background-color:#f2f2f2;
	background-position:center center;
	background-repeat: no-repeat;
	z-index:10;
	border:1px solid #fff;
	-moz-box-shadow:1px 0px 1px #ddd;
	-webkit-box-shadow:1px 0px 1px #ddd;
	-box-shadow:1px 0px 1px #ddd;
	
}
span.sb_up{
	background-image:url(../icons/up.png);
}
span.sb_down{
	background-image:url(../icons/down.png);
}
input.sb_search{
	background:#f2f2f2 url(../icons/search.png) no-repeat center center;
	height:43px;
	width:50px;
	float:left;
	border:none;
	margin:3px 0px;
	border:1px solid #fff;
	-moz-box-shadow:1px 1px 3px #555;
	-webkit-box-shadow:1px 1px 3px #555;
	-box-shadow:1px 1px 3px #555;
	outline:none;
	cursor:pointer;
}
input.sb_search:hover{
	background-color:#fff;
}

Vamos con lo importante, que aparezca nuestro filtro asistido.

El Javascript

En este ejemplo el script necesario es simple, pero no por ello menos funcional

$(function() {
		/**
		* el elemento
		*/
		var $ui 		= $('#ui_element');
		/**
		* Al foco y en click mostrar el dropdown, 
		* y cambiar la imagen flecha
		*/
		$ui.find('.sb_input').bind('focus click',function(){
			$ui.find('.sb_down')
				.addClass('sb_up')
				.removeClass('sb_down')
				.andSelf()
				.find('.sb_dropdown')
				.show();
		});
		/**
		* Sobre raton saliendo oculto el dropdown, 
		* y cambia la imagen de indicador
		*/
		$ui.bind('mouseleave',function(){
			$ui.find('.sb_up')
				.addClass('sb_down')
				.removeClass('sb_up')
				.andSelf()
				.find('.sb_dropdown')
				.hide();
		});	
		/**
		* seleccionando todos checkboxes
		*/
		$ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click',function(){
		$(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
	});
});

En este caso el script realmente realiza tres trabajos, mostrar el filtro, ocultarlo y ayudarnos a desmarcar/marcar todos los elementos del filtro con un simple selector.

Este ejemplo fue extraido de CoDrops y creado por Mary Lou, el ejemplo completo del menú funcionando: DEMO STAND ALONE

| Mas
Vota

VOLVER

Registrate para acceder al blog
separador

Web creada con MBC Diseño y desarrollo web © Mastercafe SL - Alojamiento web trafico ilimitado hosting ISPActivo  |  Nota legal  |  Nota técnica

Valid XHTML 1.0 Transitional Valid XHTML 1.0 Transitional

 

blanco

blanco

Login/Conexion

No estas registrado? Registrate!