使用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中的calc函数浅析
Jul 10 HTML / CSS
CSS3实现的闪烁跳跃进度条示例(附源码)
Aug 19 HTML / CSS
CSS3中的opacity属性使用教程
Aug 19 HTML / CSS
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
Aug 15 HTML / CSS
CSS3按钮鼠标悬浮实现光圈效果源码
Sep 11 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
May 22 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
May 12 HTML / CSS
HTML5本地存储之Web Storage详解
Jul 04 HTML / CSS
HTML5本地存储和本地数据库实例详解
Sep 05 HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
PHP中的表达式简述
2016/05/29 PHP
JavaScript基本编码模式小结
2012/05/23 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
js实现微信聊天界面
2020/08/09 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
django实现前后台交互实例
2017/08/07 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
Python 互换字典的键值对实例
2019/02/12 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
业务经理的岗位职责
2013/11/16 职场文书
商家认证委托书格式
2014/10/16 职场文书
介绍信模板
2015/01/31 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
交通事故起诉书
2015/05/19 职场文书
应收账款管理制度
2015/08/06 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
如何拟写通知正文?
2019/04/02 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python