RELATEED CONSULTING
相關咨詢
選擇下列産品馬上(shàng)在線溝通(tōng)
服務時(shí)間(jiān):9:00-18:00
你(nǐ)可(kě)能遇到了下面的問題
關閉右側工具欄
使用CSS和(hé)jQuery制(zhì)作(zuò)漂亮的下拉選項菜單
  • 作(zuò)者:admin
  • 發表時(shí)間(jiān):2013-07-02 14:17:12
  • 來(lái)源:未知

我們在進行(xíng)表單設計(jì)時(shí),可(kě)能要用到select下拉選項控件,遺憾的是,IE浏覽器(qì)默認的select控件外觀非常醜陋,而且不能用樣式來(lái)控制(zhì),不能在選項中添加圖片等信息。今天我将通(tōng)過實例來(lái)講解如何用CSS和(hé)jQuery來(lái)制(zhì)作(zuò)漂亮的下拉選項菜單。

查看演示DEMO 下載源碼

XHTML


可(kě)以看出,我們使用div來(lái)替換下拉選項控件原生(shēng)的select标簽。

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}

樣式不要多(duō)講,你(nǐ)可(kě)以修改CSS中的背景色和(hé)字體(tǐ)顔色,甚至其他任意定義的樣式。有(yǒu)一個(gè)下拉箭頭的小(xiǎo)圖标,已經打包在附件裏了。

jQuery

首先,當單擊“請(qǐng)選擇城市”時(shí),判斷下拉的層“ul”是否處于顯示狀态,如果是則隐藏下拉選項,否則則打開(kāi)(下滑)下拉選項。

$("#dropdown p").click(function(){
	var ul = $("#dropdown ul");
	if(ul.css("display")=="none"){
		ul.slideDown("fast");
	}else{
		ul.slideUp("fast");
	}
});

然後,當單擊下拉選項時(shí),獲取選項內(nèi)容,将選項內(nèi)容寫入到

标簽中,同時(shí)隐藏下拉選項。

$("#dropdown ul li a").click(function(){
	var txt = $(this).text();
	$("#dropdown p").html(txt);
	$("#dropdown ul").hide();
});

這樣就完成了一個(gè)簡單的下拉選項的操作(zuò),是不是很(hěn)簡單啊。

當然,如果與後台交互,需要獲取選項的value值,那(nà)就需要先定義XHTML。



從代碼中可(kě)以看出,在給a标簽加個(gè)rel屬性,并賦值,就相當于select的option标簽的value值。接下來(lái)就是通(tōng)過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+",值為(wèi):"+value);
});

這樣就完成了一個(gè)完整的下拉選項的操作(zuò)。