使用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动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
Aug 18 HTML / CSS
css3实现信纸/同学录效果的示例代码
Dec 11 HTML / CSS
表单button的outline在firefox浏览器下的问题
Dec 24 HTML / CSS
CSS3 @media的基本用法总结
Sep 10 HTML / CSS
HTML5上传文件显示进度的实现代码
Aug 30 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
Dec 04 HTML / CSS
HTML5新特性之type=file文件上传功能
Feb 02 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
Html5之title吸顶功能
Jun 04 HTML / CSS
Canvas系列之滤镜效果
Feb 12 HTML / CSS
canvas实现手机的手势解锁的步骤详细
Mar 16 HTML / CSS
CSS3中Animation实现简单的手指点击动画的示例
Jul 15 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 xml实例 留言本
2009/03/20 PHP
php自动加载机制的深入分析
2013/06/08 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
js正则相关知识点专题
2018/05/10 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
python自动安装pip
2014/04/24 Python
python里大整数相乘相关技巧指南
2014/09/12 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
解决python3输入的坑——input()
2020/12/05 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
COS美国官网:知名服装品牌
2019/04/08 全球购物
AJAX的全称是什么
2012/11/06 面试题
护士岗前培训自我评鉴
2014/02/28 职场文书
项目负责人任命书
2014/06/04 职场文书
改革共识倡议书
2014/08/29 职场文书
政协工作总结2015
2015/05/20 职场文书