js+CSS實(shí)現(xiàn)模擬華麗的select控件下拉菜單效果
本文實(shí)例講述了js+CSS實(shí)現(xiàn)模擬select控件的下拉菜單效果。分享給大家供大家參考。具體如下:
這是一個(gè)JS+CSS技術(shù)實(shí)現(xiàn)的Select控件效果,模擬出來(lái)的,比默認(rèn)的Select更漂亮,有了這個(gè)模板,你修改Select就更方便了,由此你也可以將其制作成CSS下拉菜單,在兼容性方面暫未測(cè)試,在IE8下沒(méi)問(wèn)題。
運(yùn)行效果截圖如下:
在線(xiàn)演示地址如下:
http://demo.jb51.net/js/2015/js-css-select-control-style-codes/
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>模擬select控件</title> <style> html,body{height:100%;overflow:hidden;} body,div,form,h2,ul,li{margin:0;padding:0;} ul{list-style-type:none;} body{background:#23384e;font:12px/1.5 \5fae\8f6f\96c5\9ed1;} #search,#search form,#search .box,#search .select,#search a{background:url(images/search.jpg) no-repeat;} #search,#search .box,#search form{height:34px;} #search{position:relative;width:350px;margin:10px auto;} #search .box{background-position:right 0;} #search form{background-repeat:repeat-x;background-position:0 -34px;margin:0 20px 0 40px;} #search .select{float:left;color:#fff;width:190px;height:22px;cursor:pointer;margin-top:4px;line-height:22px;padding-left:10px;background-position:0 -68px;} #search a{float:left;width:80px;height:24px;color:#333;letter-spacing:4px;line-height:22px;text-align:center;text-decoration:none;background-position:0 -90px;margin:4px 0 0 10px;} #search a:hover{color:#f60;background-position:-80px -90px;} #search .sub{position:absolute;top:26px;left:40px;color:#fff;width:198px;background:#2b2b2b;border:1px solid #fff;display:none;} #search .sub li{height:25px;line-height:24px;cursor:pointer;padding-left:10px;margin-bottom:-1px;border-bottom:1px dotted #fff;} #search .sub li.hover{background:#8b8b8b;} </style> <script type="text/javascript"> window.onload = function () { var oSelect = document.getElementsByTagName("span")[0]; var oSub = document.getElementsByTagName("ul")[0]; var aLi = oSub.getElementsByTagName("li"); var i = 0; oSelect.onclick = function (event) { var style = oSub.style; style.display = style.display == "block" ? "none" : "block"; //阻止事件冒泡 (event || window.event).cancelBubble = true }; for (i = 0; i < aLi.length; i++) { //鼠標(biāo)劃過(guò) aLi[i].onmouseover = function () { this.className = "hover" }; //鼠標(biāo)離開(kāi) aLi[i].onmouseout = function () { this.className = ""; }; //鼠標(biāo)點(diǎn)擊 aLi[i].onclick = function () { oSelect.innerHTML = this.innerHTML } } document.onclick = function () { oSub.style.display = "none"; }; }; </script> </head> <body> <div id="search"> <div class="box"> <form> <span class="select">請(qǐng)選擇游戲名稱(chēng)</span> <a href="javascript:;">搜索</a> </form> </div> <ul class="sub"> <li>地下城與勇士</li> <li>魔獸世界(國(guó)服)</li> <li>魔獸世界(臺(tái)服)</li> <li>熱血江湖</li> <li>大話(huà)西游II</li> <li>QQ幻想世界</li> </ul> </div> </body> </html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JavaScript表格隔行變色和Tab標(biāo)簽頁(yè)特效示例【附j(luò)Query版】
這篇文章主要介紹了JavaScript表格隔行變色和Tab標(biāo)簽頁(yè)特效,結(jié)合實(shí)例形式分析了javascript元素遍歷、事件響應(yīng)相關(guān)操作技巧,并附帶jQuery對(duì)應(yīng)實(shí)現(xiàn)代碼供大家參考,需要的朋友可以參考下2019-07-07javascript實(shí)現(xiàn)保留兩位小數(shù)的多種方法
這篇文章主要介紹了javascript實(shí)現(xiàn)保留兩位小數(shù)的多種方法,如果數(shù)字的原本小數(shù)位數(shù)不到兩位,那么缺少的就自動(dòng)補(bǔ)零,感興趣的小伙伴們可以參考一下2015-12-12js獲取dom的高度和寬度(可見(jiàn)區(qū)域及部分等等)
網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)捇蚋摺⒕W(wǎng)頁(yè)正文全文寬或高以及網(wǎng)頁(yè)正文部分左或右,詳細(xì)請(qǐng)看下文,希望對(duì)大家有所幫助2013-06-06JavaScript 點(diǎn)擊頁(yè)面上的按紐,彈出層,背景變灰
點(diǎn)擊頁(yè)面上的按紐,彈出一個(gè)層,背景變灰,這樣的效果現(xiàn)在網(wǎng)頁(yè)應(yīng)用的比較多,這里只是個(gè)簡(jiǎn)單的實(shí)現(xiàn)方式2010-06-06網(wǎng)頁(yè)加載時(shí)頁(yè)面顯示進(jìn)度條加載完成之后顯示網(wǎng)頁(yè)內(nèi)容
網(wǎng)頁(yè)加載時(shí)頁(yè)面顯示進(jìn)度條(加載完成時(shí)顯示網(wǎng)頁(yè)內(nèi)容),這種效果在瀏覽網(wǎng)頁(yè)很常見(jiàn),本文也介紹一種實(shí)現(xiàn)方法,需要了解的朋友可以參考下2012-12-12Whatever:hover 無(wú)需javascript讓IE支持豐富偽類(lèi)
絕大部分現(xiàn)代瀏覽器支持 css 中的 :hover 偽類(lèi)選擇器,可以用于所有 html 元素。2010-06-06