js에서 선택 드롭다운 상자 선택을 구현하는 방법

王林
풀어 주다: 2020-03-30 11:27:30
앞으로
3524명이 탐색했습니다.

js에서 선택 드롭다운 상자 선택을 구현하는 방법

먼저 렌더링을 살펴보겠습니다.

js에서 선택 드롭다운 상자 선택을 구현하는 방법

(추천 튜토리얼: js tutorial)

구체적인 코드는 다음과 같습니다:

<html>
<head>
  <meta charset="UTF-8">
  <title>自定义select</title>
</head>
<style>
  *{
    margin: 0;
    padding: 0;
  }
  #main{
    position: relative;
    width: 280px;
    height: 42px;
  }
  #content{
    width: 280px;
    height: 42px;
    line-height: 42px;
    padding-left: 10px;
    background: rgb(255, 255, 255);
    border-radius: 2px;
    border: 1px solid rgb(221, 221, 221);
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: rgb(51, 51, 51);
    cursor: pointer;
  }
  #selectImg{
    position: absolute;
    top:13px;
    right: 10px;
    cursor: pointer;
  }
  #selectItem{
    display: none;
    border: 1px solid #eee;
    width: 290px;
  }
  #selectItem ul{
    list-style: none;
  }
  #selectItem ul li{
    height: 30px;
    line-height: 30px;
    padding-left: 10px;
    cursor: pointer;
  }
  #selectItem ul li:hover{
    background-color:#f5f7fa;
  }
</style>
<body>
  <div id="main">
    <div id="content">

    </div>
    <img id="selectImg" src="./icon_select.png" alt="">
    <div id="selectItem">
    <!--  <ul>
        <li data-value="1">北京</li>
        <li data-value="2">上海</li>
        <li data-value="3">深圳</li>
      </ul>-->
    </div>
  </div>

</body>
<script>
  var data = [{name:&#39;北京&#39;,value:&#39;1&#39;},{name:&#39;上海&#39;,value:&#39;2&#39;},{name:&#39;广州&#39;,value:&#39;3&#39;}]
  var content = document.getElementById(&#39;content&#39;);
  var selectImg = document.getElementById(&#39;selectImg&#39;);
  var selectItem = document.getElementById(&#39;selectItem&#39;);

  var ul = document.createElement(&#39;ul&#39;);
  selectItem.appendChild(ul);
  for(var i = 0; i < data.length; i++){
    var li = document.createElement(&#39;li&#39;);
    li.setAttribute(&#39;data-value&#39;,data[i].value);
    li.innerText = data[i].name;
    ul.appendChild(li);
  }
  /**
   * 点击下拉箭头
   */
  selectImg.onclick = function () {
    console.log(selectItem.style.display);
    if(selectItem.style.display == &#39;none&#39; || selectItem.style.display == &#39;&#39;){
      selectItem.style.display = &#39;block&#39;;
    }else{
      selectItem.style.display = &#39;none&#39;;
    }

  }

  content.onclick = function () {
    if(selectItem.style.display == &#39;none&#39; || selectItem.style.display == &#39;&#39;){
      selectItem.style.display = &#39;block&#39;;
    }else{
      selectItem.style.display = &#39;none&#39;;
    }
  }

  var lis = selectItem.getElementsByTagName(&#39;li&#39;);
  for(var i = 0; i < lis.length; i++){
    lis[i].onclick = function () {
      console.log(this.innerHTML,this.getAttribute(&#39;data-value&#39;));
      content.innerText = this.innerHTML;
      selectItem.style.display = &#39;none&#39;;
    }
  }
</script>
</html>
로그인 후 복사

더 멋진 CSS3, html5, javascript 특수 효과 코드는 다음에서 확인할 수 있습니다: js 특수 효과 컬렉션

위 내용은 js에서 선택 드롭다운 상자 선택을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!