利用CSS3+jQuery制作搜索条

搜索条是网站中必不可少重要部分。对于有限页面空间来说放置一个搜索条是一件需要解决的难题,今天给大家分享一个如何使用 CSS3+jQuery 来实现一个可伸缩功能的搜索条的制作。

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来将整个搜索条布局进行美化,可以使用如下代码:

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

这段代码所能够实现的效果可以运动到移动端项目的开发中,当然你也是可以添加手动滑动的效果去实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值