jQuery 分类搜索框带过滤器的搜索框-20130723
程序员文章站
2022-07-12 21:28:54
...
1、效果及功能说明
搜索框特效,制作一个jQuery分类搜索框,当鼠标点击搜索框时,会滑动展示分类菜单,点击选择/过滤分类菜单进行分类搜索
2、实现原理
先是在输入框内当点击到input后在添加一个点击事件,展开选择框里面的多少可以打勾的buttom都定义一个事件,当打过勾就可以会的当前的值,在进行筛选,当鼠标离开展开框后,展开框的展开类被删除,展开框消失,和在input里面的箭头回复原状,当展开框出现的时候箭头是向上的,展开框出现后箭头是向下的
主要的方法
3、效果图
4、运行环境
IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现
(无图片)5、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合
6、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果
7、代码[html5]
搜索框特效,制作一个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>
推荐阅读
-
jquery实现搜索框常见效果的方法教程
-
基于Jquery和Css3代码制作可以缩放的搜索框
-
Ajax (Asynchronous javascript xml) 搜索框核心代码(JQuery) Ajax判断用户名存在核心代码 附:原生js的Ajax代
-
jquery实现非叠加式的搜索框提示效果
-
MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
-
jQuery 分类搜索框带过滤器的搜索框-20130723
-
让input框实现类似百度的搜索提示(基于jquery事件监听)
-
js自定义的可分类可搜索的下拉框组件
-
Jquery带搜索框的下拉菜单
-
基于jquery的仿百度搜索框效果代码_jquery