用javascript實現select的美化的方法

來源:互聯網
上載者:User

論壇經常有人會問到用CSS如何美化Select標籤,其實但凡你看到很酷的都是用javascript來實現的。昨天試著做了一下,基本實現的初級功能。拿出來和大家一起分享一下。先可以看一下預覽效果:http://www.iwcn.net/demo/select。
【功能需求】
1、調用要方便,做好之後應該像這樣:

複製代碼 代碼如下: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>

【實現思路】

第一步:將表單中的select隱藏起來。
為什嗎?很簡單,因為這傢伙太頑固了,用css根本搞不出來你想要的。所以把它殺掉。

第二步:用指令碼找到select標籤在網頁上的絕對位置。
我們在那個位置上用DIV標籤做個假的、好看點的來當他的替身。

第三步:用指令碼把select標籤中的值讀出來。
雖然藏起來了,但它裡邊的options我們還有用呢,統統取過來。

第四步:當使用者點擊select標籤的替身,也就是div的時候。我們再用一個div浮在上一個div的下邊,這個就是options的替身了。

大致上就是這樣了,接下來我們一步一步去實現它!

【準備工作】
1、想好你要把select美化成什麼樣子,並準備好相應的圖片。我準備了兩張小圖,就是下拉式箭頭1和下拉式箭頭2,1是預設樣式,2是滑鼠移過來的樣式。
2、寫好一個普通的表單遞交頁面,比如下邊這個。注意我給select定義了基本的CSS樣式、在頭部添加了調用js檔案的代碼、在body中添加了調用函數的指令碼。 xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">


用javascript類比select達到美化效果

作者部落格

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.