使用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实现DIV圆角效果完整代码
Oct 10 HTML / CSS
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
浅谈CSS3 动画卡顿解决方案
Jan 02 HTML / CSS
html5 canvas 使用示例
Oct 22 HTML / CSS
关于HTML5的22个初级技巧(图文教程)
Jun 21 HTML / CSS
html5 canvas 画图教程案例分析
Nov 23 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
Jan 09 HTML / CSS
html5 input输入实时检测以及延时优化
Jul 18 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
Oct 23 HTML / CSS
使用HTML5加载音频和视频的实现代码
Nov 30 HTML / CSS
Bootstrap File Input文件上传组件
Dec 01 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
Jan 22 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
如何判断php数组的维度
2013/06/10 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
素食餐饮项目创业计划书
2014/02/02 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
化工见习报告范文
2014/10/31 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书