jQuery結(jié)合CSS制作漂亮的select下拉菜單
我們?cè)谶M(jìn)行表單設(shè)計(jì)時(shí),可能要用到select下拉選項(xiàng)控件,遺憾的是,IE瀏覽器默認(rèn)的select控件外觀非常丑陋,而且不能用樣式來(lái)控制,不能在選項(xiàng)中添加圖片等信息。今天我將通過(guò)實(shí)例來(lái)講解如何用CSS和jQuery來(lái)制作漂亮的下拉選項(xiàng)菜單。
XHTML
<div id="dropdown">
<p>請(qǐng)選擇城市</p>
<ul>
<li><a href="#">長(zhǎng)沙</a></li>
<li><a href="#">北京</a></li>
<li><a href="#">南京</a></li>
<li><a href="#">堪培拉</a></li>
<li><a href="#">多倫多</a></li>
</ul>
</div>
可以看出,我們使用div來(lái)替換下拉選項(xiàng)控件原生的select標(biāo)簽。
CSS
#dropdown{width:186px; margin:80px auto; position:relative}
#dropdown p{width:150px; height:24px; line-height:24px; padding-left:4px; padding-right:30px;
border:1px solid #a9c9e2; background:#e8f5fe url(arrow.gif) no-repeat right 4px;
color:#807a62; cursor:pointer}
#dropdown ul{width:184px; background:#e8f5fe; margin-top:2px; border:1px solid #a9c9e2;
position:absolute; display:none}
#dropdown ul li{height:24px; line-height:24px; text-indent:10px}
#dropdown ul li a{display:block; height:24px; color:#807a62; text-decoration:none}
#dropdown ul li a:hover{background:#c6dbfc; color:#369}
樣式不要多講,你可以修改CSS中的背景色和字體顏色,甚至其他任意定義的樣式。有一個(gè)下拉箭頭的小圖標(biāo),已經(jīng)打包在附件里了。
jQuery
首先,當(dāng)單擊“請(qǐng)選擇城市”時(shí),判斷下拉的層“ul”是否處于顯示狀態(tài),如果是則隱藏下拉選項(xiàng),否則則打開(kāi)(下滑)下拉選項(xiàng)
$("#dropdown p").click(function(){
var ul = $("#dropdown ul");
if(ul.css("display")=="none"){
ul.slideDown("fast");
}else{
ul.slideUp("fast");
}
});
然后,當(dāng)單擊下拉選項(xiàng)時(shí),獲取選項(xiàng)內(nèi)容,將選項(xiàng)內(nèi)容寫(xiě)入到<p>標(biāo)簽中,同時(shí)隱藏下拉選項(xiàng)。
$("#dropdown ul li a").click(function(){
var txt = $(this).text();
$("#dropdown p").html(txt);
$("#dropdown ul").hide();
});
這樣就完成了一個(gè)簡(jiǎn)單的下拉選項(xiàng)的操作,是不是很簡(jiǎn)單啊。
當(dāng)然,如果與后臺(tái)交互,需要獲取選項(xiàng)的value值,那就需要先定義XHTML。
<div id="dropdown">
<p>請(qǐng)選擇城市</p>
<ul>
<li><a href="#" rel="1">長(zhǎng)沙</a></li>
<li><a href="#" rel="2">北京</a></li>
<li><a href="#" rel="3">南京</a></li>
<li><a href="#" rel="4">堪培拉</a></li>
<li><a href="#" rel="5">多倫多</a></li>
</ul>
</div>
<div id="result"></div>
從代碼中可以看出,在給a標(biāo)簽加個(gè)rel屬性,并賦值,就相當(dāng)于select的option標(biāo)簽的value值。接下來(lái)就是通過(guò)jQuery獲取rel值,請(qǐng)看代碼:
$("#dropdown ul li a").click(function(){
var txt = $(this).text();
$("#dropdown p").html(txt);
var value = $(this).attr("rel");
$("#dropdown ul").hide();
$("#result").html("您選擇了"+txt+",值為:"+value);
});
這樣就完成了一個(gè)完整的下拉選項(xiàng)的操作。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- jquery無(wú)限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示
- jQuery實(shí)現(xiàn)非常實(shí)用漂亮的select下拉菜單選擇效果
- jQuery+PHP+MySQL二級(jí)聯(lián)動(dòng)下拉菜單實(shí)例講解
- jquery實(shí)現(xiàn)鼠標(biāo)滑過(guò)顯示二級(jí)下拉菜單效果
- jQuery實(shí)現(xiàn)精美的多級(jí)下拉菜單特效
- 用jquery實(shí)現(xiàn)的一個(gè)超級(jí)簡(jiǎn)單的下拉菜單
- jquery仿京東導(dǎo)航/仿淘寶商城左側(cè)分類導(dǎo)航下拉菜單效果
- 來(lái)自國(guó)外的30個(gè)基于jquery的Web下拉菜單
- 用jquery實(shí)現(xiàn)下拉菜單效果的代碼
- jquery實(shí)現(xiàn)二級(jí)導(dǎo)航下拉菜單效果實(shí)例
相關(guān)文章
JQuery拖動(dòng)表頭邊框線調(diào)整表格列寬效果代碼
當(dāng)鼠標(biāo)停留在表頭邊框線上,接著拖動(dòng)鼠標(biāo),會(huì)在表格中出現(xiàn)一條隨鼠標(biāo)移動(dòng)的豎線,最后放開(kāi)鼠標(biāo),表格列寬會(huì)被調(diào)整2014-09-09
jQuery的animate函數(shù)實(shí)現(xiàn)圖文切換動(dòng)畫(huà)效果
animate()在jquery中作為一個(gè)方法,可用于創(chuàng)建動(dòng)畫(huà)效果,jquery中的animate()方法讓那個(gè)頁(yè)面增加了很好的視覺(jué)效果2015-05-05
關(guān)于hashchangebroker和statehashable的補(bǔ)充文檔
我覺(jué)得之前寫(xiě)的兩篇隨筆有點(diǎn)不負(fù)責(zé)任,完全沒(méi)寫(xiě)明白,補(bǔ)充了一份文檔(權(quán)且算是文檔吧=.=)2011-08-08
jquery文檔操作wrap()方法實(shí)例簡(jiǎn)述
這篇文章主要介紹了jquery文檔操作wrap()方法,以實(shí)例形式簡(jiǎn)單分析了wrap()方法用某個(gè)標(biāo)簽將某個(gè)元素包起來(lái)的使用技巧,需要的朋友可以參考下2015-01-01
簡(jiǎn)潔實(shí)用的BootStrap jQuery手風(fēng)琴插件
這篇文章主要介紹了簡(jiǎn)潔實(shí)用的BootStrap jQuery手風(fēng)琴插件知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
jQuery模擬下拉框選擇對(duì)應(yīng)菜單的內(nèi)容
這篇文章主要介紹了jQuery模擬下拉框選擇對(duì)應(yīng)菜單的內(nèi)容,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
jquery-easyui關(guān)閉tab自動(dòng)切換到前一個(gè)tab
考慮到用戶體驗(yàn),當(dāng)用戶關(guān)閉tab時(shí),自動(dòng)切換到前一個(gè)tab不至于讓用戶看到空的界面。2010-07-07

