真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript如何實(shí)現(xiàn)下拉菜單功能

這篇文章主要介紹了JavaScript如何實(shí)現(xiàn)下拉菜單功能,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

佛山網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,佛山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為佛山千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的佛山做網(wǎng)站的公司定做!

具體代碼如下所示:

 
 
   
     
    下拉菜單 
     
      body, 
      ul, 
      li { 
        margin: 0; 
        padding: 0; 
        font-size: 13px; 
      } 
      ul, 
      li { 
        list-style: none; 
      } 
      #divselect { 
        width: 186px; 
        margin: 80px auto; 
        position: relative; 
        z-index: 10000; 
      } 
      #divselect cite { 
        width: 150px; 
        height: 24px; 
        line-height: 24px; 
        display: block; 
        color: #807a62; 
        cursor: pointer; 
        font-style: normal; 
        padding-left: 4px; 
        padding-right: 30px; 
        border: 1px solid #333333; 
        /*background: url(xjt.png) no-repeat right center;*/ 
      } 
      cite:before { 
        content: ''; 
        position: absolute; 
        right: 7px; 
        bottom: 7px; 
        width: 0; 
        height: 0; 
        border-width: 4px; 
        border-style: solid; 
        border-color: #888 transparent transparent transparent; 
        transition: all 0.2s; 
        -webkit-transition: all 0.2s; 
        -moz-transition: all 0.2s; 
        -o-transition: all 0.2s; 
        -ms-transition: all 0.2s; 
        transform-origin: 50% 25%; 
        -ms-transform-origin: 50% 25%; 
        -moz-transform-origin: 50% 25%; 
        -webkit-transform-origin: 50% 25%; 
        -o-transform-origin: 50% 25%; 
      } 
      .extended cite:before { 
        transform: rotate(180deg); 
        -webkit-transform: rotate(180deg); 
        -moz-transform: rotate(180deg); 
        -o-transform: rotate(180deg); 
        -ms-transform: rotate(180deg); 
      } 
      #divselect ul { 
        width: 184px; 
        border: 1px solid #333333; 
        background-color: #ffffff; 
        position: absolute; 
        z-index: 20000; 
        margin-top: -1px; 
        display: none; 
      } 
      #divselect ul li { 
        height: 24px; 
        line-height: 24px; 
      } 
      #divselect ul li a { 
        display: block; 
        height: 24px; 
        color: #333333; 
        text-decoration: none; 
        padding-left: 10px; 
        padding-right: 10px; 
      } 
      .animated { 
        animation-fill-mode: both; 
        -webkit-animation-fill-mode: both; 
        -moz-animation-fill-mode: both; 
        -o-animation-fill-mode: both; 
        -ms-animation-fill-mode: both; 
      } 
      .speed_fast { 
        animation-duration: .3s; 
        /*-webkit-animation-duration: 0.2s; 
        -moz-animation-duration: 0.2s; 
        -o-animation-duration: 0.2s; 
        -ms-animation-duration: 0.2s;*/ 
      } 
      .anim_extendDown { 
        animation-name: extendDown; 
        -webkit-animation-name: extendDown; 
        -moz-animation-name: extendDown; 
        -o-animation-name: extendDown; 
        -ms-animation-name: extendDown; 
      } 
      @keyframes extendDown { 
        0% { 
          border-bottom-color: transparent; 
          height: 0; 
        } 
        100% { 
          border-bottom-color: #333; 
          height: 120px; 
        } 
      } 
      @-webkit-keyframes extendDown { 
        0% { 
          border-bottom-color: transparent; 
          height: 0; 
        } 
        100% { 
          border-bottom-color: #333; 
          height: 120px; 
        } 
      } 
      @-moz-keyframes extendDown { 
        0% { 
          border-bottom-color: transparent; 
          height: 0; 
        } 
        100% { 
          border-bottom-color: #333; 
          height: 120px; 
        } 
      } 
      @-o-keyframes extendDown { 
        0% { 
          border-bottom-color: transparent; 
          height: 0; 
        } 
        100% { 
          border-bottom-color: #333; 
          height: 120px; 
        } 
      } 
      @-ms-keyframes extendDown { 
        0% { 
          border-bottom-color: transparent; 
          height: 0; 
        } 
        100% { 
          border-bottom-color: #333; 
          height: 120px; 
        } 
      } 
     
   
   
     
      請選擇分類 
      
                          ASP開發(fā)                    
  •             .NET開發(fā)          
  •           
  •             PHP開發(fā)          
  •           
  •             Javascript開發(fā)          
  •           
  •             Java特效          
  •         
      
              window.onload = function() {          var box = document.getElementById('divselect'),            title = box.getElementsByTagName('cite')[0],            menu = box.getElementsByTagName('ul')[0],            as = box.getElementsByTagName('a'),            index = -1;          //初始樣式          function resetM() {            box.className = "";            menu.className = "";            menu.style.display = "none";            index = -1;            resetA();          }          //清空a選項(xiàng)樣式          function resetA() {            for(var i = 0; i < as.length; i++) {              as[i].style.background = "#fff";            }          }          // 點(diǎn)擊三角時(shí)          title.onclick = function(event) {            //阻止事件冒泡            event = event || window.event;            event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true;            if(box.className == "extended") {              resetM();            } else {              box.className = "extended"; //給box加類名讓三角旋轉(zhuǎn)              menu.className = "animated speed_fast anim_extendDown"; //下拉菜單的下拉動(dòng)畫              menu.style.display = "block";            }          }          document.onkeydown = function(event) {            event = event || window.event;            if(box.className == "extended") {              if(event.keyCode == 38) { //向上鍵                event.preventDefault ? event.preventDefault() : event.returnValue = false;                index--;                if(index == -1) {                  index = as.length - 1;                }                resetA();                as[index].style.background = "#ccc";              } else if(event.keyCode == 40) { //向下鍵                event.preventDefault ? event.preventDefault() : event.returnValue = false;                index++;                if(index == as.length) {                  index = 0;                }                resetA();                as[index].style.background = "#ccc";              } else if(event.keyCode == 13) { //回車鍵                event.preventDefault ? event.preventDefault() : event.returnValue = false;                title.innerHTML = as[index].innerHTML;                resetM();              }            }          }          // 滑過滑過、離開、點(diǎn)擊每個(gè)選項(xiàng)時(shí)          for(var i = 0; i < as.length; i++) {            as[i].onmouseover = function() {              resetA();              this.style.background = "#ccc";              index = this.getAttribute('selectid') - 1;            }            as[i].onclick = function() {              resetM();              title.innerHTML = this.innerHTML;            }          }          // 點(diǎn)擊頁面空白處時(shí)          document.onclick = function() {            resetM();          }        }           

1、要阻止事件冒泡

2、鍵盤事件,用index索引

3、通過設(shè)置類名或清空類名的方式給元素增加動(dòng)畫和恢復(fù)原有樣式

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“JavaScript如何實(shí)現(xiàn)下拉菜單功能”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


本文標(biāo)題:JavaScript如何實(shí)現(xiàn)下拉菜單功能
網(wǎng)站URL:http://weahome.cn/article/posdsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部