使用css3和jquery实现可伸缩搜索框


Posted in HTML / CSS onFebruary 12, 2014

HTML

在需要放置搜索条的页面中放置如下html代码,搜索条#search_bar包含一个form#myform表单,表单中放置一个搜索输入框#search,一个搜索按钮.search_btn以及搜索按钮图标.search_ico。
 

复制代码
代码如下:

<div id="search_bar" class="search_bar">
<form id="myform">
<input class="input" placeholder="想搜点什么呢..." type="text" name="key" id="search">
<input class="search_btn" type="submit" value="">
<span class="search_ico"></span>
</form>
</div>

CSS

我们通过CSS来将整个搜索条布局美化,其中我们使用了CSS3代码。
 

复制代码
代码如下:

.search_bar{position: relative;margin-top: 10px;
width: 0%;min-width: 60px;height: 60px;
float: right;overflow: hidden;
-webkit-transition: width 0.3s;
-moz-transition: width 0.3s;
transition: width 0.3s;
-webkit-backface-visibility: hidden;
background:#162934;
}

.input{
position: absolute;top: 0;right: 0;
border: none;outline: none;
width: 98%;height: 60px; line-height:60px;z-index: 10;
font-size: 20px;color: #f9f9f9;background:transparent
}

.search_ico,.search_btn {
width: 60px;height: 60px;display: block;
position: absolute;right: 0;top: 0;
padding: 0;margin: 0;line-height: 60px;cursor: pointer;
}

.search_ico{background: #e67e22 url(icon.png) no-repeat 18px 20px;z-index:90;}
.search_open{width: 100% !important; z-index:1002}
#show{position:absolute; padding:20px}

上述代码中关键的是transition: width 0.3s可以实现CSS3的动画效果,width由0变成100%,具体大家可以去看下CSS3手册相关介绍,这里不多描述,你可以直接复制和修改代码应用到你的项目中去。

jQuery

当点击搜索按钮时,搜索条.search_bar通过toggleClass()切换样式.search_open,这就实现了搜索条收缩和伸展功能。另外我们还需要判断输入情况,当输入满足条件时,提交搜索表单实现搜索功能,请看代码:
 

复制代码
代码如下:

$(function(){
$(".search_ico").click(function(){
$(".search_bar").toggleClass('search_open');
var keys = $("#search").val();
if(keys.length>2){
$("#search").val('');
$("#myform").submit();
}else{
return false;
}
});
});

该效果可以运用到移动端项目中,当然你也可以添加手动滑动效果。

HTML / CSS 相关文章推荐
你正在寻找的CSS3 动画技术
Jul 27 HTML / CSS
如何利用CSS3制作3D效果文字具体实现样式
May 02 HTML / CSS
CSS3不透明度实例讲解
Apr 26 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
May 20 HTML / CSS
HTML5实现表单自动验证功能实例代码
Jan 11 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
Feb 05 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
Sep 19 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
Oct 08 HTML / CSS
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
Jul 09 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
Oct 19 HTML / CSS
clear 万能清除浮动(clearfix:after)
May 21 HTML / CSS
css3与html5实现响应式导航菜单(导航栏)效果分享
Feb 12 #HTML / CSS
推荐10个CSS3 制作的创意下拉菜单效果
Feb 11 #HTML / CSS
纯css3显示隐藏一个div特效的具体实现
Feb 10 #HTML / CSS
css3让div随鼠标移动而抖动起来
Feb 10 #HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 #HTML / CSS
css3的@media属性实现页面响应式布局示例代码
Feb 10 #HTML / CSS
CSS3控制HTML元素动画效果
Feb 08 #HTML / CSS
You might like
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
微信小程序 navbar实例详解
2017/05/11 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python_LDA实现方法详解
2017/10/25 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
几道PHP面试题
2013/04/14 面试题
外语专业毕业生自我评价分享
2013/10/05 职场文书
医学类个人求职信范文
2014/02/05 职场文书
领导党性分析材料
2014/02/15 职场文书
减负增效提质方案
2014/05/23 职场文书
党员干部一句话承诺
2014/05/30 职场文书
大学生个人总结范文
2015/02/15 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
遗失证明范文
2015/06/19 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
Python os和os.path模块详情
2022/04/02 Python