使用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感应鼠标的背景闪烁和图片缩放动画效果
May 14 HTML / CSS
CSS3 仿微信聊天小气泡实例代码
Apr 05 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
Dec 01 HTML / CSS
移动端适配 使px自动转换rem
Aug 26 HTML / CSS
详解Html5原生拖拽操作
Jan 12 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
Jan 30 HTML / CSS
HTML5 3D衣服摇摆动画特效
Mar 17 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
Aug 09 HTML / CSS
canvas 基础之图像处理的使用
Apr 10 HTML / CSS
amazeui时间组件的实现示例
Aug 18 HTML / CSS
使用canvas对video视频某一刻截图功能
Sep 25 HTML / CSS
css之clearfix的用法深入理解(必看篇)
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 smarty函数扩展
2010/03/15 PHP
PHP URL路由类实例
2013/11/12 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
浅谈PHP中的
2016/04/23 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
python网络编程之读取网站根目录实例
2014/09/30 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
在校生党员自我评价
2013/09/25 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
应届大学生求职信
2014/07/20 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
2015年科室工作总结
2015/04/10 职场文书