作者的blog:http://www.iwcn.net
論壇經(jīng)常有人會問到用CSS如何美化Select標(biāo)簽,其實但凡你看到很酷的都是用javascript來實現(xiàn)的。昨天試著做了一下,基本實現(xiàn)的初級功能。拿出來和大家一起分享一下。 先可以看一下: 預(yù)覽效果
功能需求
1、調(diào)用要方便,做好之后應(yīng)該像這樣:
function loadSelect(selectobj){ //傳入一個select對象就能將他的樣式美化 }
2、不改變原有表單項,表單的頁面代碼不去破壞:
<form name="f" onsubmit="getResult();"> <fieldset> <legend>用戶注冊</legend> <div> <label for="username">帳號</label> <input type="text" id="username" name="username" /> </div> <div> <label for="pwd">密碼</label> <input type="password" name="pwd" id="pwd" /> </div> <div> <label for="province">省份</label> <select id="province" name="province"> <option value="10">江西</option> <option value="11">福建</option> <option value="12">廣東</option> <option value="13">浙江</option> </select> </div> </fieldset> <input type="submit" value="提交" name="btnSub" /> </form>
實現(xiàn)思路
- 第一步:將表單中的select隱藏起來。
為什么?很簡單,因為這家伙太頑固了,用css根本搞不出來你想要的。所以把它殺掉。
- 第二步:用腳本找到select標(biāo)簽在網(wǎng)頁上的絕對位置。
我們在那個位置上用DIV標(biāo)簽做個假的、好看點的來當(dāng)他的替身。
- 第三步:用腳本把select標(biāo)簽中的值讀出來。
雖然藏起來了,但它里邊的options我們還有用呢,統(tǒng)統(tǒng)取過來。
- 第四步:當(dāng)用戶點擊select標(biāo)簽的替身,也就是div的時候。我們再用一個div浮在上一個div的下邊,這個就是options的替身了。
大致上就是這樣了,接下來我們一步一步去實現(xiàn)它!
準(zhǔn)備工作
- 1、想好你要把select美化成什么樣子,并準(zhǔn)備好相應(yīng)的圖片。我準(zhǔn)備了兩張小圖,就是下拉箭頭1和下拉箭頭2,1是默認樣式,2是鼠標(biāo)移過來的樣式。
- 2、寫好一個普通的表單遞交頁面,比如下邊這個。注意我給select定義了基本的CSS樣式、在頭部添加了調(diào)用js文件的代碼、在body中添加了調(diào)用函數(shù)的腳本。
運行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
出處:藍色理想
責(zé)任編輯:moby
上一頁 下一頁 用javascript實現(xiàn)select的美化 [2]
◎進入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|