使用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截取字符串实例代码【推荐】
Jun 07 HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 HTML / CSS
CSS3中设置3D变形的transform-style属性详解
May 23 HTML / CSS
纯html5+css3下拉导航菜单实现代码
Mar 18 HTML / CSS
html5 音乐播放器 audio 标签使用概述
Jul 15 HTML / CSS
有关HTML5页面在iPhoneX适配问题
Nov 13 HTML / CSS
canvas线条的属性详解
Mar 27 HTML / CSS
html5移动端价格输入键盘的实现
Sep 16 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
Apr 14 HTML / CSS
html5拖拽应用记录及注意点
May 27 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
CSS代码检查工具stylelint的使用方法详解
Mar 27 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数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
强制设为首页代码
2006/06/19 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
详解javascript函数的参数
2015/11/10 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
Python 文本文件内容批量抽取实例
2018/12/10 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
旅游网创业计划书
2014/01/31 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
节约用水的口号
2014/06/20 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
加强党性修养心得体会
2016/01/21 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
MySQL锁机制
2021/04/05 MySQL
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
Golang ort 中的sortInts 方法
2022/04/24 Golang