js自定義select下拉框美化特效
select的默認(rèn)樣式往往很丑,為保證頁(yè)面樣式風(fēng)格統(tǒng)一,需要對(duì)select進(jìn)行美化。雖然其美化的插件很多,一搜一大把,但是需要引入長(zhǎng)長(zhǎng)的css文件和js文件實(shí)在是件頭痛的事。其實(shí)select的實(shí)現(xiàn)原理很簡(jiǎn)單,就是一個(gè)點(diǎn)擊 切換 顯示和隱藏 并傳值 的過(guò)程。用jquery模擬了,樣式想怎么寫(xiě)就怎么寫(xiě),且不限數(shù)量。
樸素的效果:

html:
<div class="select_box"> <font>›</font> <span>選項(xiàng)1</span> <ul> <li>選項(xiàng)1</li> <li>選項(xiàng)2</li> <li>選項(xiàng)3</li> </ul> </div> <div class="select_box"> <font>›</font> <span>選項(xiàng)一</span> <ul> <li>選項(xiàng)一</li> <li>選項(xiàng)二</li> <li>選項(xiàng)三</li> </ul> </div>
css:
ul{ margin:0; padding:0; list-style:none;}
.select_box{ width:200px; height:36px; border:1px solid #3CF; position:relative; float:left; margin-right:50px;}
.select_box span{ display:inline-block; width:200px; height:36px; line-height:36px; cursor:pointer; text-indent:10px;}
.select_box .span_aa{ color:#C36;}
.select_box ul{ width:200px; position:absolute; top:36px; left:-1px; border:1px solid #3CF; display:none; background:#fff;}
.select_box li{ cursor:pointer; line-height:36px; text-indent:10px;}
.select_box li:hover{ background:#39F; color:#fff;}
.select_box font{ position:absolute; right:10px; font-size:26px; font-family:"微軟雅黑"; color:#3CF; transform:rotate(90deg);}
js:
$(function(){
var s_title=$(".select_box span");
var s_select=$(".select_box li");
s_title.click(function(e){
$(this).addClass("span_aa");
$(this).next("ul").show();
e.stopPropagation();
});
s_select.click(function(){
var s_text=$(this).html();
var s_title_2=$(this).parent('ul').prev("span");
s_title_2.html(s_text).removeClass("span_aa");
$(this).parent('ul').hide();
});
$(document).click(function(){
s_title.removeClass("span_aa");
$(".select_box ul").hide();
});
});
源碼下載:js select下拉框美化下載
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊jquery下拉框效果匯總、JavaScript下拉框效果匯總進(jìn)行學(xué)習(xí)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
- Select2.js下拉框使用小結(jié)
- Angularjs實(shí)現(xiàn)帶查找篩選功能的select下拉框示例代碼
- AngularJS使用ng-repeat指令實(shí)現(xiàn)下拉框
- JS仿百度自動(dòng)下拉框模糊匹配提示
- js實(shí)現(xiàn)帶搜索功能的下拉框?qū)崟r(shí)搜索實(shí)時(shí)匹配
- jquery及原生js獲取select下拉框選中的值示例
- Extjs中ComboBoxTree實(shí)現(xiàn)的下拉框樹(shù)效果(自寫(xiě))
- js 動(dòng)態(tài)選中下拉框
- 基于jquery的無(wú)限級(jí)聯(lián)下拉框js插件
- js實(shí)現(xiàn)下拉框效果(select)
相關(guān)文章
JS簡(jiǎn)單實(shí)現(xiàn)數(shù)組去重的方法分析
這篇文章主要介紹了JS簡(jiǎn)單實(shí)現(xiàn)數(shù)組去重的方法,結(jié)合具體實(shí)例形式分析了javascript數(shù)組遍歷、判斷實(shí)現(xiàn)去重復(fù)的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-10-10
JSON中雙引號(hào)的輪回使用過(guò)程中一定要小心
如果JSON對(duì)象中有屬性是包含雙引號(hào)當(dāng)轉(zhuǎn)換成字符串形式,將自動(dòng)加上反斜線,詳細(xì)請(qǐng)祥看本文2014-03-03
前端頁(yè)面在移動(dòng)設(shè)備上顯示不正常的原因及解決方案
當(dāng)頁(yè)面在移動(dòng)設(shè)備上顯示不正常時(shí),通常是由于布局、樣式或響應(yīng)式設(shè)計(jì)設(shè)置不當(dāng)所引起的,移動(dòng)設(shè)備的屏幕尺寸、分辨率和交互方式與桌面設(shè)備有很大的不同,本文將詳細(xì)介紹常見(jiàn)的導(dǎo)致頁(yè)面在移動(dòng)設(shè)備上顯示不正常的原因,以及如何解決這些問(wèn)題,需要的朋友可以參考下2024-09-09
webpack配置proxyTable時(shí)pathRewrite無(wú)效的解決方法
這篇文章主要介紹了webpack配置proxyTable時(shí)pathRewrite無(wú)效的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
一文總結(jié)JavaScript中Promise遇到的問(wèn)題
Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強(qiáng)大。本文將總結(jié)一下在Promise中容易遇到的一些問(wèn)題,感興趣的同學(xué)可以參考下2023-05-05
javascript實(shí)現(xiàn)好看的可復(fù)用彈窗插件
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)好看的可復(fù)用彈窗插件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
js實(shí)現(xiàn)的簡(jiǎn)單radio背景顏色選擇器代碼
這篇文章主要介紹了js實(shí)現(xiàn)的簡(jiǎn)單radio背景顏色選擇器代碼,利用鼠標(biāo)事件及頁(yè)面元素動(dòng)態(tài)操作實(shí)現(xiàn)頁(yè)面背景顏色的改變功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
微信小程序自定義tabbar custom-tab-bar 6s出不來(lái)解決方案(cover-view不兼容)
這篇文章主要介紹了微信小程序自定義tabbar custom-tab-bar 6s出不來(lái)解決方案,cover-view不兼容問(wèn)題,需要的朋友可以參考下2019-11-11
JavaScript調(diào)用傳遞變量參數(shù)的相關(guān)問(wèn)題及解決辦法
本文給大家介紹javascript調(diào)用傳遞變量參數(shù)的相關(guān)問(wèn)題及解決辦法,涉及到j(luò)s調(diào)用傳遞參數(shù)相關(guān)知識(shí),對(duì)js調(diào)用傳遞參數(shù)感興趣的朋友一起學(xué)習(xí)吧2015-11-11

