基于Jquery和Css3代码制作可以缩放的搜索框


Posted in HTML / CSS onNovember 19, 2015

搜索条在我们网站是必不可少的,尤其是在有限的页面空间里,放置一个重要的搜索条是个难题,今天我将结合实例给大家介绍一下如何使用CSS3和jQuery来实现一个可伸缩功能的搜索条。

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;
}
});
});

该效果可以运用到移动端项目中,当然你也可以添加手动滑动效果。

以上代码比较简单,希望对大家学习jquery css3有所帮助。更多信息请持续关注三水点靠木网站,我们每天都有新的内容更新。

HTML / CSS 相关文章推荐
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
HTML5打开本地app应用的方法
Mar 31 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
Mar 14 HTML / CSS
html5的websockets全双工通信详解学习示例
Feb 26 HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 HTML / CSS
详解WebSocket跨域问题解决
Aug 06 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
HTML5 图片悬停放大的实现代码示例
Dec 04 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 HTML / CSS
AmazeUI 列表的实现示例
Aug 17 HTML / CSS
css animation配合SVG制作能量流动效果
Mar 24 HTML / CSS
基于CSS3实现图片模糊过滤效果
Nov 19 #HTML / CSS
Css3圆角边框制作代码
Nov 18 #HTML / CSS
CSS3绘制不规则图形的一些方法示例
Nov 07 #HTML / CSS
使用HTML和CSS3绘制基本卡通图案的示例分享
Nov 06 #HTML / CSS
使用CSS3的::selection改变选中文本颜色的方法
Sep 29 #HTML / CSS
CSS3绘制圆角矩形的简单示例
Sep 28 #HTML / CSS
CSS3的resize属性使用初探
Sep 27 #HTML / CSS
You might like
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
python多线程扫描端口(线程池)
2019/09/04 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Python 实现一个计时器
2020/07/28 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
水务局局长岗位职责
2013/11/28 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
精彩的英文自荐信
2014/01/30 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
四风查摆剖析材料
2014/10/10 职场文书
千手观音观后感
2015/06/03 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android