使用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仿造window7的开始菜单
Jun 17 HTML / CSS
CSS3中31种选择器使用方法教程
Dec 05 HTML / CSS
css3设置box-pack和box-align让div里面的元素垂直居中
Sep 01 HTML / CSS
使用CSS禁止textarea调整大小功能的方法
Mar 13 HTML / CSS
CSS实现半透明边框与多重边框的场景分析
Nov 13 HTML / CSS
纯CSS3+DIV实现小三角形边框效果的示例代码
Aug 03 HTML / CSS
HTML5实现表单自动验证功能实例代码
Jan 11 HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
Jul 20 HTML / CSS
Html5 滚动穿透的方法
May 13 HTML / CSS
H5最强接口之canvas实现动态图形功能
May 31 HTML / CSS
HTML5超文本标记语言的实现方法
Sep 24 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
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
Python Flask框架扩展操作示例
2019/05/03 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
python实现滑雪游戏
2020/02/22 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
先进事迹演讲稿
2014/09/01 职场文书
2015年教师新年寄语
2014/12/08 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python