JS 로 옵션 구현

11527 단어 js옵션 카드
본 논문 의 사례 는 JS 가 옵션 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
사례 설명
브 라 우 저 에 옵션 인터페이스 를 표시 합 니 다.머리 는 1,2,3,4,5 입 니 다.머리 에 있 는 임의의 숫자 를 누 르 면 아래 에 서로 다른 정 보 를 표시 하고 마우스 가 임의의 숫자 에 머 물 렀 을 때 숫자의 색상 이 변 합 니 다.사례 는 아래 그림 과 같다.
기본 값 은 숫자 1 의 내용 입 니 다.

클릭 숫자 2

다른 숫자 를 클릭 하여 유추 하면 여기 서 일일이 보 여주 지 않 습 니 다.
HTML 코드
모든 HTML 코드 전시

<div id="table">
 <!--    -->
 <div id="header">
  <ul>
  <li class="selected">
   <a href="#" >1</a>
  </li>
  <li>
   <a href="#" >2</a>
  </li>
  <li>
   <a href="#" >3</a>
  </li>
  <li>
   <a href="#" >4</a>
  </li>
  <li>
   <a href="#" >5</a>
  </li>
  </ul>
 </div>
 <!--    -->
 <div id="content">
  <div class="dom" style="display: block">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
 </div>
 </div>
</body>
HTML 코드 분해
머리 는 5 개의 li 라벨 이 포 함 된 목록 으로 구성 되 어 있 으 며,각각 li 라벨 에는 a 라벨 이 포함 되 어 있 습 니 다.
여기 selected 선택 기의 역할 은 선택 한 li 의 배경 색 을 바 꾸 는 것 입 니 다.

<div id="header">
  <ul>
  <li class="selected">
   <a href="#" >1</a>
  </li>
  <li>
   <a href="#" >2</a>
  </li>
  <li>
   <a href="#" >3</a>
  </li>
  <li>
   <a href="#" >4</a>
  </li>
  <li>
   <a href="#" >5</a>
  </li>
 </ul>
</div>
HTML 코드 분해
여기 서 dom 선택 기 를 포함 한 div 는 각각 옵션 의 내용 을 나 타 냅 니 다.
.dom 선택 기 에 display:none 설정;,모든 옵션 의 내용 을 숨 깁 니 다.
보 여 주 는 내용 에 스타일="display:block"을 추가 합 니 다.브 라 우 저 에 보 여 주 는 속성

 <div id="content">
  <div class="dom" style="display: block">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li> <a href="#" >           1</a></li>
   <li> <a href="#" >           2</a></li>
   <li> <a href="#" >           3</a></li>
   <li> <a href="#" >           4</a></li>
  </ul>
  </div>
</div>
CSS 스타일
css 코드 는 자세 한 설명 을 하지 않 겠 습 니 다.

<style>
 * {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 text-decoration: none;
 list-style: none;
 }
 a {
 display: inline-block;
 color: black;
 float: left;
 text-align: center;
 }
 #table {
 width: 500px;
 height: 170px;
 margin: 0 auto;
 margin-top: 50px;
 border: 1px solid #e0e0e0;
 }
 /*      */
 #table #header {
 width: 100%;
 height: 50px;
 }
 #table #header a {
 width: 20%;
 line-height: 50px;
 background-color: #e0e0e0;
 }
 #table #header a:hover {
 color: red;
 }
 #table #header .selected a{
 background-color:whitesmoke;
 }

 /*      */
 #table #content {
 width: 100%;
 height: 120px;
 }
 #table #content .dom {
 margin-top: 10px;
 display: none;
 }
 #table #content .dom a{
 width: 50%; 
 padding: 10px 0;
 }
JS 구현 코드 1
JS 코드 가 실현 해 야 할 것 은 옵션 카드 숫자 를 클릭 할 때마다 해당 하 는 옵션 카드 내용 을 표시 하 는 것 입 니 다.
그리고 머리 스타일 을 바 꿔 주세요.
모든 JS 코드 표시

<script>
 window.onload = function(){
 //     
 var header = document.getElementById('header');
 var hLi = header.getElementsByTagName('li');
 var dom = document.getElementsByClassName('dom');
 // console.log(dom);
 
 //   hLi    li  
 for (let index = 0; index < hLi.length; index++) {
  //    li  
  let li = hLi[index];

  //  li         content    
  li.addEventListener('click',function(){
  //    li   
  li.setAttribute('class','selected');
  //    li      class   null
  for (let j = 0; j < hLi.length; j++) { 
   if( j != index && hLi[j].getAttribute('class') == 'selected'){
   hLi[j].setAttribute('class','null'); 
   break;
   } 
  }
  //  content      
  //     dom k dom   
  for (let k = 0; k< hLi.length; k++) {
   if(index === k)
   dom[k].style.display = 'block';
   else
   dom[k].style.display = 'none';
  } 
  });
 
 }
 
 }
</script>
JS 코드 분해-머리 스타일 변경
모든 li 태그 에 감청 기 를 추가 하고 클릭 한 li 태그 의 class 속성 을 selected 로 설정 하여 브 라 우 저 에 보 여 줍 니 다.
각각 li 탭 의 class 속성 값 을 for 순환 으로 옮 겨 다 니 는 값 을 사용 합 니 다.이 속성 값=='selected'가 방금 클릭 한 li 탭 이 아니라면 이 탭 의 class 속성 값 을*'null'*로 변경 합 니 다.

 //    li  
  let li = hLi[index];

  //  li         content    
  li.addEventListener('click',function(){
  //    li   
  li.setAttribute('class','selected');
  //    li      class   null
  for (let j = 0; j < hLi.length; j++) { 
   if( j != index && hLi[j].getAttribute('class') == 'selected'){
   hLi[j].setAttribute('class','null'); 
   break;
   } 
  }
JS 코드 분해
하나의 for 문 구 를 사용 하여 모든 dom 을 옮 겨 다 닙 니 다.이 dom 의 아래 표 시 는 클릭 한 li 태그 의 아래 표 시 와 같 으 면 이 dom 의 display 를 block 으로 설정 합 니 다.그렇지 않 으 면 none 으로 설정 합 니 다.

//  content      
  //     dom k dom   
  for (let k = 0; k< hLi.length; k++) {
   if(index === k)
   dom[k].style.display = 'block';
   else
   dom[k].style.display = 'none';
  } 
JS 구현 코드 2
코드 하나 가 좀 복잡 해 졌어 요.여기 더 간단 한 방법 이 있어 요.설명 을 많이 하지 않 겠 습 니 다.
중요 한 부분 과 이 해 는 모두 주석 에서 언급 되 었 다.

window.onload = function(){
 //     
 var header = document.getElementById('header');
 var hLi = $('header').getElementsByTagName('li');
 var dom = $('content').getElementsByClassName('dom');

 for (let index = 0; index < hLi.length; index++) {
  let li = hLi[index];
  //      
  li.addEventListener('click',function(){
  //           
  for (let j = 0; j< hLi.length; j++) {
   hLi[j].className = ''; // class      
   dom[j].style.display = 'none'; //       
  }

  this.className = 'selected'; //    li     
  dom[index].style.display = 'block'; //  li      
  });
  
 }

 //  
 function $(id) {
  return typeof id === 'string'? document.getElementById(id) : null;  
 }
}
만약 에 여러분 이 깊이 공부 하고 싶다 면 두 개의 멋 진 주 제 를 클릭 할 수 있 습 니 다.javascript 옵션 조작 방법 집합jquery 옵션 조작 방법 집합
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기