`

jQuery 分类搜索框带过滤器的搜索框-20130723

阅读更多
1、效果及功能说明

搜索框特效,制作一个jQuery分类搜索框,当鼠标点击搜索框时,会滑动展示分类菜单,点击选择/过滤分类菜单进行分类搜索

2、实现原理

先是在输入框内当点击到input后在添加一个点击事件,展开选择框里面的多少可以打勾的buttom都定义一个事件,当打过勾就可以会的当前的值,在进行筛选,当鼠标离开展开框后,展开框的展开类被删除,展开框消失,和在input里面的箭头回复原状,当展开框出现的时候箭头是向上的,展开框出现后箭头是向下的

主要的方法

$ui.find('.searchtext').bind('focus click',function(){
		
			  $ui.find('.arrowDown').addClass('arrowUp').removeClass('arrowDown').andSelf().find('.dropdown').slideDown(500);
		});
// 对焦点上单击显示下拉列表中, 和更改的箭头图像	

$ui.bind('mouseleave',function(){
			$ui.find('.arrowUp').addClass('arrowDown').removeClass('arrowUp').andSelf().find('.dropdown').slideUp(500);
		});

//鼠标离开隐藏下拉,和更改的箭头图像


3、效果图




4、运行环境

IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现


(无图片)5、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合

6、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果


7、代码[html5]

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-table;}/* Hides from IE-mac \*/
*html .clearfix{height:1%;}
.clearfix{display:block;}/* End hide from IE-mac */
*+html .clearfix{min-height:1%;}
/* demo */
.demo{width:480px;margin:30px auto;}
.demo h2{font-size:16px;color:#3366cc;height:30px;}
/* searchinfo */
.searchinfo{position:relative;height:35px;}
.searchinfo li{float:left;position:relative;}
.searchinfo li .text,.searchinfo li .button{background:url(images/spis_031ddf34.png) no-repeat;}
.searchinfo li .text{width:356px;height:22px;padding:4px 7px;padding:6px 7px 2px\9;font:16px arial;border:1px solid #cdcdcd;border-color:#9a9a9a #cdcdcd #cdcdcd #9a9a9a;vertical-align:top;outline:none;margin:0 5px 0 0;}
.searchinfo li .button{width:95px;height:32px;padding:0;padding-top:2px\9;border:0;background-position:0 -35px;background-color:#ddd;cursor:pointer}
.searchinfo .arrowUp,.searchinfo .arrowDown{position:absolute;top:12px;left:10px;width:10px;height:9px;z-index:10;	}
.searchinfo .arrowUp{background:url(images/up.png) no-repeat;}
.searchinfo .arrowDown{background:url(images/down.png) no-repeat;}
/* dropdown */
.dropdown{width:360px;padding:6px 5px;border:solid 1px #ddd;background:#efefef;position:absolute;left:0;top:31px;}
.dropdown .tit_filter{width:348px;border:1px solid #f9f9f9;background:#ddd;font-size:14px;color:#000;height:24px;line-height:24px;padding:2px 5px;}
.dropdown li{float:left;width:175px;padding:0 0 0 5px;font-size:14px;line-height:32px;height:32px;}
.dropdown li label{cursor:pointer;}
</style>

</head>
<body>

	<div class="demo">
		<h2>搜索框过滤器演示</h2>
		<form action="" method="post" name="searchform" id="searchform" class="searchinfo">
			<ul class="clearfix">
				<li>
					<input type="text" name="keyword" value="" id="keyword" class="text searchtext" />
					<span class="arrowDown"></span>
				</li>
				<li><input type="submit" value="搜索" class="button searchbtn" /></li>
			</ul>
			<ul class="dropdown clearfix" style="display:none;">
				<li class="tit_filter">过滤搜索</li>
				<li><input type="checkbox" id="all"/><label for="all"><strong>所有分类</strong></label></li>
				<li><input type="checkbox" id="Automotive" /><label for="Automotive">汽车</label></li>
				<li><input type="checkbox" id="Baby" /><label for="Baby">婴儿</label></li>
				<li><input type="checkbox" id="Beauty" /><label for="Beauty">美女</label></li>
				<li><input type="checkbox" id="Books" /><label for="Books">书籍</label></li>
				<li><input type="checkbox" id="Cell" /><label for="Cell">手机</label></li>
				<li><input type="checkbox" id="Cloth" /><label for="Cloth">服装</label></li>
				<li><input type="checkbox" id="Electronics" /><label for="Electronics">电子产品</label></li>
				<li><input type="checkbox" id="Gourmet" /><label for="Gourmet">美食</label></li>
				<li><input type="checkbox" id="Health" /><label for="Health">保健</label></li>
				<li><input type="checkbox" id="Home" /><label for="Home">家居与园艺</label></li>
				<li><input type="checkbox" id="Industrial" /><label for="Industrial">产业</label></li>
				<li><input type="checkbox" id="Jewelry" /><label for="Jewelry">首饰</label></li>
				<li><input type="checkbox" id="Magazines" /><label for="Magazines">杂志</label></li>
			</ul>
		</form>
	</div>
	
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
	<script type="text/javascript">
	$(function() {
	//定义方法
		var $ui = $('#searchform');
		//定义参数将#searchform放进去		
		
		$ui.find('.searchtext').bind('focus click',function(){
		//定义遍历获得.searchtext当点击鼠标时添加一个点击事件方法
			  $ui.find('.arrowDown').addClass('arrowUp').removeClass('arrowDown').andSelf().find('.dropdown').slideDown(500);
		});
//定义遍历获得.arrowDown后添加一个类arrowUp后在删除掉arrowDown类andSelf()可以同事添加两个不同的类,通过遍历获得.dropdown类 以滑动方式显示隐藏
	
		
		$ui.bind('mouseleave',function(){
		//定义获得当鼠标点击时添加一个改变元素的背景色方法
		$ui.find('.arrowUp').addClass('arrowDown').removeClass('arrowUp').andSelf().find('.dropdown').slideUp(500);
//定义遍历添加arrowDown类在删除掉arrowUp将两个方法方法在一起在通过遍历获得.dropdown类调用滑动展开方法
		});
	
		/** 选择所有的复选框 **/
		$ui.find('.dropdown').find('label[for="all"]').prev().bind('click',function(){
//定义遍历获得.dropdown在通过遍历获得label[for="all"]前一个同胞元素点击鼠标时添加一个点击事件
		$(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
//当前查找每个段落的带有查找每个元素的所有类名通过遍历在获得:checkbox获得当前的checked 属性的当前的checked在获得
		});
		
	});
	</script>	

</body>
</html>
  • 大小: 23.8 KB
  • 大小: 23.8 KB
分享到:
评论

相关推荐

    jquery分类搜索框带过滤器的搜索框

    本教程将详细讲解如何利用jQuery实现一个带有过滤器的分类搜索框,帮助用户高效地在各类数据中进行查找。 首先,我们需要理解jQuery中的基本概念。jQuery对象是jQuery的核心,它封装了DOM元素,提供了丰富的API供...

    jQuery下拉菜单分类搜索框代码_drop_jQuery下拉菜单分类搜索框代码_

    在网页设计中,jQuery下拉菜单分类搜索框是一种常见的交互元素,它提供了高效且用户友好的导航和搜索体验。这个项目可能包含以下组件和知识点: 1. **jQuery库**: jQuery是一个广泛使用的JavaScript库,简化了DOM...

    jquery搜索框下拉列表选择搜索分类效果.rar

    本示例“jquery搜索框下拉列表选择搜索分类效果”旨在实现一个交互式的搜索功能,其中用户可以通过下拉列表来选择特定的搜索分类,从而提高用户体验并提供更精确的搜索结果。 在C#编程环境中,虽然jQuery主要用于...

    jQuery-searchableSelect带搜索功能的下拉选

    《jQuery-searchableSelect:打造高效带搜索功能的下拉选择器》 在Web开发中,下拉选择框(Select)是常见的用户输入组件,但原生的HTML `&lt;select&gt;` 元素往往功能有限,特别是在大型数据集或需要提供搜索功能的情况...

    jquery搜索框下拉列表选择搜索分类效果

    本文将深入探讨如何使用jQuery实现一个搜索框下拉列表选择搜索分类的效果,这种功能常见于各种网站的搜索功能中,提高了用户体验。 首先,我们需要在HTML中创建一个基础的搜索框结构。一个简单的搜索框可以这样表示...

    jquery下拉搜索框显示热门关键词

    本文将详细讲解如何利用jQuery实现一个功能丰富的下拉搜索框,展示热门关键词并显示搜索次数。 首先,我们需要理解下拉搜索框的基本结构。一个基本的搜索框由HTML输入元素(`&lt;input type="text"&gt;`)和一个隐藏的...

    jQuery实现搜索框输入文字过滤筛选特效源码.zip

    本资源"jQuery实现搜索框输入文字过滤筛选特效源码.zip"提供了一种利用jQuery实现搜索框实时过滤和筛选数据的方法,这种功能常见于各种网页应用,如动态列表、数据表格或内容展示等。 首先,让我们深入理解jQuery的...

    jQuery搜索框删除文字代码

    2. 我们使用`$('#searchInput')`和`$('#clearSearch')`选择器获取搜索框和清除按钮的jQuery对象,以便后续操作。 3. 当搜索框的`input`事件触发(即用户输入或删除文字)时,我们检查输入框的值。如果值非空,显示...

    带搜索框的jQuery下拉框美化插件 searchableSelect

    "带搜索框的jQuery下拉框美化插件 searchableSelect"就是这样一个工具,它旨在为开发者提供一个既美观又实用的下拉选项选择器,同时集成了搜索功能,让用户在大量数据中快速找到目标。 jQuery是一个广泛使用的...

    jquery多选框

    接着,可以使用jQuery选择器找到需要转换为增强多选框的元素,并调用相应的插件方法。例如: ```javascript $(document).ready(function() { $("#example").multiselect(); }); ``` 在HTML部分,需要一个合适的`...

    基于jQuery实现的带下拉过滤功能的搜索框的代码.zip

    这个“基于jQuery实现的带下拉过滤功能的搜索框的代码.zip”压缩包提供了一个实用的功能,即在搜索框中输入文字时,下拉列表会根据输入的内容实时过滤出匹配的选项,极大地提升了用户体验。 首先,我们要理解jQuery...

    jQuery下拉菜单选中搜索框插件代码

    本文将详细解析"jQuery下拉菜单选中搜索框插件代码"的相关知识点,帮助开发者理解并应用这个插件。 首先,我们要明白下拉菜单(Dropdown Menu)在网页设计中的作用。它通常用于将多个选项或子菜单隐藏在主菜单项之...

    jQuery模糊搜索框下拉选择代码.zip

    《jQuery模糊搜索框下拉选择代码》是一款针对前端开发者的高效工具,主要应用于网页中的搜索功能优化,尤其适用于需要提供动态筛选和智能匹配效果的场景。这个代码库实现了基于jQuery的模糊搜索功能,使得用户在...

    jQuery搜索框输入文字查找表格.zip

    本项目“jQuery搜索框输入文字查找表格”聚焦于在表格数据中实现快速查找功能,使得用户可以通过输入关键词高效地定位所需信息。 首先,我们需要理解jQuery的核心概念。jQuery提供了一种简洁的API,用于选择DOM元素...

    jQuery搜索框下拉菜单选择插件

    **jQuery搜索框下拉菜单选择插件**是一种增强用户交互体验的前端开发工具,它将传统的输入框与下拉菜单相结合,提供了丰富的筛选和选择功能。这种插件在网页表单设计中尤其常见,用于提高数据输入的效率和准确性。在...

    jQuery ajax搜索框自动补全代码

    本文将深入探讨“jQuery ajax搜索框自动补全代码”这一主题,包括其工作原理、实现方法和相关知识点。 首先,jQuery的ajax功能是实现异步数据通信的关键。Ajax(Asynchronous JavaScript and XML)允许我们在不刷新...

    jQuery实现分类下拉选择搜索框特效源码.zip

    《jQuery实现分类下拉选择搜索框特效源码详解》 在网页开发中,为了提高用户体验,经常需要使用一些交互性强的元素,比如分类下拉选择搜索框。这种功能可以让用户在下拉菜单中快速筛选和查找所需内容,而jQuery作为...

Global site tag (gtag.js) - Google Analytics