麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

下拉選樣式(列表偽裝)

2024-04-27 15:12:03
字體:
供稿:網(wǎng)友

找了很久,用別人做好的由于都已經(jīng)改變了dom結(jié)構(gòu),考慮到對后期不好操作,只好自己做了……

先找一個模版不錯的,自己山寨把……

html

<td colspan="2" style="position: relative;">

 <div class="chooseSite" id="choosePRovince"><ul id="province" class="siteSelect">請選擇省</ul> </div> <div class="province-list" id="province_list"><ul><li>北京市</li><li>北京市</li><li>北京市</li><li>新疆維吾爾自治區(qū)</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li><li>北京市</li></ul>   </div><div class="chooseSite"><ul id="city" class="siteSelect">請選擇城市</ul><span class="need"> </span>

</div>

</td>

由于使用select樣式制作沒能成功去除ie自帶的小箭號標志,于是使用ul和li列表來偽裝。

在開始之前,我們先將所有元素樣式設(shè)置一下,因為我們要用的列表默認是有外間距和內(nèi)間距的,并且每個有序列表前面是有一個點。

* {margin: 0;list-style: none;padding: 0;}

首先將第一個div的樣式設(shè)置一下:(在此之前需要一個箭頭的圖片,格式大約16*8像素就夠了,圖片PNG格式,無背景,或白色,

右側(cè)稍微留些空白,不然作為背景會頂著邊框,不美觀)

.chooseSite {border: 1px solid #2DB2FF;//邊框border-radius: 5px;//邊框弧度box-shadow: 0 0 2px #2DB2FF;//邊框陰影height: 30px;//高度background: url("../img/arrow1.png") no-repeat scroll right center transparent;//背景(小箭號圖標)padding-right: 12px;//右側(cè)內(nèi)邊距,是為小箭號背景留出的,因為在div里面裝了一個ul會蓋住背景圖片padding-left: 6px;//美觀處理,左側(cè)留出一些空白line-height: 30px;//行高與div高度相同,保證文字垂直居中width: 110px;//寬度font-size: 13px;//文字大小float: left;//多個div的話讓其浮動可以在一行顯示,為了美觀可以加上外邊距 margin,讓兩個div中間留出一些空白}

下面為列表部分添加樣式:

這里采用絕對定位,這樣出現(xiàn)的時候就可以蓋住偽下拉選元素的下邊框部分,那么要為最近的一個父元素樣式中添加:position:relative;

.province-list {border: 1px solid #2DB2FF;//邊框border-top: 0px;//不要頂部的邊框border-radius: 2px;//邊框弧度小一點box-shadow: 0 1px 2px #2DB2FF;height: 240px;width: 128px;position: absolute;top: 30px;font-size: 13px;background: white;overflow: hidden; padding-top: 4px;display: none;//將他設(shè)為隱藏}.province-list li {height: 26px;padding: 2px 0 2px 5px;line-height: 26px;}

大概效果是這樣的:

做好了之后就是添加鼠標懸浮樣式和鼠標單擊后的樣式:(其實是一樣的)

.province-checked {//這里用來表示鼠標懸浮的時候切換的樣式color: white;background: #2DB2FF; }.province-selected {//這里用來表示鼠標單擊li后選中的樣式color: white;background: #2DB2FF; }

考慮到鼠標單擊后需要一個記錄,而鼠標懸浮和移除li的時候會不斷添加和刪除樣式,所以這么設(shè)計的

那么開始為li添加事件吧。

在一個scrSEOver(function(){//鼠標懸浮在某個li上,會添加懸浮樣式$(this).addClass('province-checked');});$('form').find('li').mouseout(function(){//鼠標離開某個li后,會去掉懸浮添加的樣式,恢復原來樣式$(this).removeClass('province-checked');});$('form').find('li').click(function(){//單擊事件

//先將已經(jīng)添加的單擊樣式去掉,此處只能有一個,所以用eq(0)選擇器,直接選擇第一個元素就可以$('.province-selected').eq(0).removeClass('province-selected');

//這里為單擊的li添加樣式$(this).addClass('province-selected');

//獲取我們單擊li的值var province = $(this).text();

//單擊后隱藏該列表$('#province_list').hide();

//此處為ul賦值替代初始值(請選擇省)

……});

});

這樣后,鼠標單擊后會在li上留下紅色部分的樣式,而鼠標懸浮也會有橙色的樣式,同時鼠標移除后又恢復原來樣式。

接下來要為下拉選添加單擊事件了:

需要在$(function(){……})中綁定

$('#chooseProvince').click(function(){if($('#province_list').is(':hidden')){$('#province_list').show();}else{$('#province_list').hide();}});

到這里列表是做好了,但是還不能點別的地方關(guān)閉。這里是一個比較坑的地方。花了相當大的功夫找資料。郁悶的差點放棄。

設(shè)計是單擊空白處隱藏這個列表:

先寫一個這個:去冒泡

function stopPropagation(e) { if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; } 

接下來在$(function(){……}); 里面寫下面綁定方法

$(document).bind('click',function(e){ var e = e || window.event; //瀏覽器兼容性 var elem = e.target || e.srcElement; while (elem) { //循環(huán)判斷至跟節(jié)點,防止點擊的是div子元素 if (elem.id=='chooseProvince' || elem.id=='province_list') { //試了很多次,發(fā)現(xiàn)上面的第一個div也要包括進去return; } elem = elem.parentNode;} $('#province_list').CSS('display','none'); //點擊的不是div或其子元素隱藏列表 stopPropagation(e);//這個不知道有沒用,暫且這么著}); 

那么好了,現(xiàn)在單擊空白的地方已經(jīng)可以關(guān)閉列表了

還有一個問題,列表太長?需要下拉的滾動條怎么辦?

直接給province-list 加上overflow-y:auto;就行了

但是滾動條不是很好看,還需要美化一下的。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一级黄色网 | 国产午夜精品久久久久久免费视 | 毛片免费大全短视频 | 一区二区三区日本在线观看 | 日本精品二区 | 欧美久久久一区二区三区 | 精品一区二区三区免费爱 | 55夜色66夜色国产精品视频 | 亚洲午夜电影 | 色综合视频网 | 欧美一级性 | 国产精选在线 | 在线观看国产网站 | 2021国产精品视频 | 性少妇chinesevideo | 毛片视频播放 | 亚洲第九十九页 | 最新中文字幕在线视频 | 免费一级片观看 | 国产成人在线一区二区 | 欧美亚洲一级 | av成人免费看 | 视频一区二区三区在线观看 | 国产精品视频免费在线观看 | 羞羞漫画无遮挡观看 | 久久久久久久一区 | 九一免费版在线观看 | 午夜爽爽爽男女免费观看hd | 成av人在线观看 | 欧美精品免费一区二区三区 | 欧美日韩一区,二区,三区,久久精品 | 成年人视频在线免费观看 | 成人福利在线视频 | 新久草在线视频 | videos高潮 | 极品销魂一区二区三区 | 91美女视频在线观看 | 久久精品一区二区三区国产主播 | 国产精品免费小视频 | 成人小视频在线播放 | 欧美视频在线一区二区三区 |