使用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使用技巧5个
Apr 02 HTML / CSS
CSS+jQuery实现的在线答题功能
Apr 25 HTML / CSS
CSS3中颜色线性渐变实战
Jul 18 HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
Feb 27 HTML / CSS
用HTML5.0制作网页的教程
May 30 HTML / CSS
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
Jan 20 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
Dec 20 HTML / CSS
html5简介_动力节点Java学院整理
Jul 07 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
CSS3 制作的悬停缩放特效
Apr 13 HTML / CSS
HTML通过表单实现酒店筛选功能
May 18 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 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写的小东西
2006/12/06 PHP
PHP中ADODB类详解
2008/03/25 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
splice slice区别
2006/10/09 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
javascript定时器完整实例
2015/02/10 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
深入浅析python定时杀进程
2016/06/06 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
大学生简短的自我评价
2014/09/12 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
公司人力资源管理制度
2015/08/05 职场文书
新教师教学工作总结
2015/08/12 职场文书
初中语文教师研修日志
2015/11/13 职场文书
销售口号霸气押韵
2015/12/24 职场文书