使用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 制作绽放的莲花采用效果叠加实现
Jan 31 HTML / CSS
CSS实现定位元素居中的方法
Jun 23 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
Apr 22 HTML / CSS
HTML5 input元素类型:email及url介绍
Aug 13 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
Apr 10 HTML / CSS
实例讲解HTML5的meta标签的一些应用
Dec 08 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 HTML / CSS
Html5大屏数据可视化开发的实现
Jun 11 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连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
仿京东快报向上滚动的实例
2017/12/13 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
python 不以科学计数法输出的方法
2018/07/16 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
详细分析Python collections工具库
2020/07/16 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
临床医学专业毕业生的自我评价
2013/10/17 职场文书
农救科工作职责
2013/11/27 职场文书
教师师德承诺书
2014/03/26 职场文书
城管综合整治方案
2014/05/01 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
交通事故责任认定书
2015/08/06 职场文书
小学班主任心得体会
2016/01/07 职场文书
机械生产实习心得体会
2016/01/22 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
浅谈Java父子类加载顺序
2021/08/04 Java/Android
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL