搜索條在網(wǎng)站中是必不可少的,尤其是在有限的頁(yè)面空間里,放置一個(gè)重要的搜索條是個(gè)難題,今天我將結(jié)合實(shí)例給大家介紹一下如何使用CSS3和jQuery來(lái)實(shí)現(xiàn)一個(gè)可伸縮功能的搜索條。
HTML
在需要放置搜索條的頁(yè)面中放置如下html代碼,搜索條#search_bar包含一個(gè)form#myform表單,表單中放置一個(gè)搜索輸入框#search,一個(gè)搜索按鈕.search_btn以及搜索按鈕圖標(biāo).search_ico。
<div id="search_bar" class="search_bar">
<form id="myform">
<input class="input" placeholder="想搜點(diǎn)什么呢..."
type="text" name="key" id="search">
<input class="search_btn" type="submit" value="">
<span class="search_ico"></span>
</form>
</div>
CSS
我們通過(guò)CSS來(lái)將整個(gè)搜索條布局美化,其中我們使用了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}
上述代碼中關(guān)鍵的是transition: width 0.3s可以實(shí)現(xiàn)CSS3的動(dòng)畫(huà)效果,width由0變成100%,具體大家可以去看下CSS3手冊(cè)相關(guān)介紹,這里不多描述,你可以直接復(fù)制和修改代碼應(yīng)用到你的項(xiàng)目中去。
jQuery
當(dāng)點(diǎn)擊搜索按鈕時(shí),搜索條.search_bar通過(guò)toggleClass()切換樣式.search_open,這就實(shí)現(xiàn)了搜索條收縮和伸展功能。另外我們還需要判斷輸入情況,當(dāng)輸入滿足條件時(shí),提交搜索表單實(shí)現(xiàn)搜索功能,請(qǐng)看代碼:
$(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;
}
});
});
該效果可以運(yùn)用到移動(dòng)端項(xiàng)目中,當(dāng)然你也可以添加手動(dòng)滑動(dòng)效果。