使用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教程(3):border-color网页边框色彩
Apr 02 HTML / CSS
需要知道的CSS3动画技术
Jan 01 HTML / CSS
CSS3制作气泡对话框的实例教程
May 10 HTML / CSS
css3 transform导致子元素固定定位变成绝对定位的方法
Mar 06 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
Jan 07 HTML / CSS
HTML5中div、article、section的区别及使用介绍
Aug 14 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 HTML / CSS
详解Canvas实用库Fabric.js使用手册
Jan 07 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
May 15 HTML / CSS
HTML5实现移动端弹幕动画效果
Aug 01 HTML / CSS
Html5定位终极解决方案
Feb 05 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
Nov 04 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操作文件方法问答
2007/03/16 PHP
php在线生成ico文件的代码
2007/10/09 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
python动态加载包的方法小结
2016/04/18 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
名企HR怎样看待求职信
2014/02/23 职场文书
厨师长岗位职责
2014/03/02 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
代理协议书
2014/04/22 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
Golang 对es的操作实例
2022/04/20 Golang