搜索條在我們網站是必不可少的,尤其是在有限的頁面空間裡,放置一個重要的搜索條是個難題,今天我將結合實例給大家介紹一下如何使用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;
}
});
});
該效果可以運用到移動端項目中,當然你也可以添加手動滑動效果。