使用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 相关文章推荐
IE滤镜与CSS3效果(详细整理分享)
Jan 25 HTML / CSS
CSS3绘制不规则图形的一些方法示例
Nov 07 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
Jun 16 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
Nov 02 HTML / CSS
HTML5 新事件 小结
Jul 16 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
Jan 21 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
HTML5学习笔记之History API
Feb 26 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
Mar 21 HTML / CSS
html5 初试 indexedDB(推荐)
Jul 21 HTML / CSS
详解android与HTML混合开发总结
Jun 06 HTML / CSS
使用css样式设计一个简单的html登陆界面的实现
Mar 30 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_values 返回数组的所有值详解及实例
2016/11/12 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
Python Queue模块详解
2014/11/30 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python下Fabric的简单部署方法
2015/07/14 Python
python先序遍历二叉树问题
2017/11/10 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
python实现简单多人聊天室
2018/12/11 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
详解python中的异常和文件读写
2021/01/03 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
酒鬼酒广告词
2014/03/21 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
《白鹅》教学反思
2014/04/13 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
初三数学教学反思
2016/02/17 职场文书
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis