基于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 相关文章推荐
CSS3地图动态实例代码(圆圈向外扩散)
Jun 15 HTML / CSS
css3设置box-pack和box-align让div里面的元素垂直居中
Sep 01 HTML / CSS
纯CSS3打造属于自己的“小黄人”
Mar 14 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
CSS3 毛玻璃效果
Aug 14 HTML / CSS
CSS3 @media的基本用法总结
Sep 10 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
May 17 HTML / CSS
HTML5 实现一个访问本地文件的实例
Dec 13 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
Sep 06 HTML / CSS
css3应用示例:新增的选择器
Mar 16 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 类商品秒杀计时实现代码
2010/05/05 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
详解Python中的多线程编程
2015/04/09 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
洗煤厂厂长岗位职责
2014/01/03 职场文书
初中语文教学反思
2014/02/02 职场文书
公开服务承诺制度
2014/03/26 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
工程承诺书怎么写
2014/05/24 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
承诺函范文
2015/01/21 职场文书
财务部岗位职责范本
2015/04/14 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
python如何做代码性能分析
2021/04/26 Python
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis