模擬select的代碼
只是自己用,沒(méi)有考慮寫成通用的組件,所以童鞋們?nèi)绻娴囊萌ビ玫脑捰悬c(diǎn)麻煩
幾個(gè)狀態(tài),展開(kāi)收起是jquery的slide

這個(gè)模擬select,只是很簡(jiǎn)單的實(shí)現(xiàn)了單獨(dú)一個(gè)select的部分功能
沒(méi)有實(shí)現(xiàn)比如optgroup,文字長(zhǎng)度自適應(yīng)(圖片會(huì)因此修改麻煩)
再說(shuō)如果頁(yè)面多個(gè)select,css處理也麻煩,
數(shù)據(jù)、聯(lián)動(dòng)都要增加大量代碼
小有小的好處,所以就不考慮進(jìn)行封裝,
這里有不少童鞋做的比我好很多,功能很強(qiáng)大
再所以,就偷一下懶,在這里送上js注釋給初學(xué)者
$(document).ready(function(){
var newSelect = $("#aa");
newSelect.click(function(e){
//如果沒(méi)有class,即關(guān)閉狀態(tài),就展開(kāi)
//打開(kāi)狀態(tài)就不需要處理,冒泡執(zhí)行document.click
if(this.className == ""){
this.className = "open";
$(this.nextSibling).slideDown("fast");
e.stopPropagation();//阻止冒泡
}
});
//關(guān)閉收起
function closeSelect(obj){
$(obj.nextSibling).slideUp("fast",function(){
obj.className = "";
});
}
$(document).bind("click", function() {
closeSelect(newSelect[0]);
});
newSelect.next().click(function(e){
var src = e.target;
//如果有選中任何一項(xiàng),取選中文字執(zhí)行替換操作并改變樣式,相當(dāng)于select.onchange
//冒泡執(zhí)行document.click關(guān)閉收起
if(src.tagName == "A"){
var PObj = src.parentNode;
PObj.previousSibling.innerHTML = src.innerHTML;
$(src).siblings().removeClass();
src.className = "current";
PObj.nextSibling.value = src.getAttribute("value");
}
});
});
演示地址:http://demo.jb51.net/js/2011/jquery_select/
打包下載:http://www.dbjr.com.cn/jiaoben/39490.html
相關(guān)文章
jquery nth-child()選擇器的簡(jiǎn)單應(yīng)用
今天項(xiàng)目中遇到過(guò)一個(gè)這樣的問(wèn)題,就是希望讀出來(lái)的文章列表能夠每隔五個(gè)加一個(gè)分割條,而不是每個(gè)都加。2010-07-07Jquery實(shí)現(xiàn)無(wú)縫向上循環(huán)滾動(dòng)列表的特效
今天小編就為大家分享一篇關(guān)于Jquery實(shí)現(xiàn)無(wú)縫向上循環(huán)滾動(dòng)列表的特效,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02防止jQuery ajax Load使用緩存的方法小結(jié)
本篇文章主要是對(duì)防止jQuery ajax Load使用緩存的方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02利用jquery.qrcode在頁(yè)面上生成二維碼且支持中文
這篇文章主要介紹了利用jquery.qrcode在頁(yè)面上生成二維碼且支持中文。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02通過(guò)jQuery源碼學(xué)習(xí)javascript(一)
最近在做日志統(tǒng)計(jì)程序,發(fā)現(xiàn)對(duì)方的程序是在Jquery基礎(chǔ)上進(jìn)行開(kāi)發(fā)的,而公司的網(wǎng)站的框架是prototype。而且我也早就想了解一下Jquery源碼,故決定研究Jquery源碼,模擬它的方法2012-12-12JQuery省市聯(lián)動(dòng)效果實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了JQuery省市聯(lián)動(dòng)效果實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05jQuery 1.7.2中g(shù)etAll方法的疑惑分析
2012-05-05jQuery實(shí)現(xiàn)的網(wǎng)格線繪制方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)的網(wǎng)格線繪制方法,涉及jQuery針對(duì)頁(yè)面元素的獲取及樣式動(dòng)態(tài)操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法
這篇文章主要介紹了jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法,涉及jQuery Ajax調(diào)用及返回函數(shù)中增加js文件的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06