jQuery 아코디언 효과 실현(몽타주)

본 논문 의 사례 는 jQuery 가 아코디언 효 과 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

코드:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style type="text/css">
  *{
   padding:0;
   margin:0;
  }
  ul,ol{
   list-style: none;
  }
  .box{
   width: 900px;
   height: 300px;
   border:1px solid #333;
   margin:50px auto;
   position: relative;
   overflow: hidden;
  }
  .box ul li{
   position: absolute;
   width: 560px;
   height: 300px;
   top:0px;
  }
  .box ul li.no0{
   left:0px;
  }
  .box ul li.no1{
   left:180px;
  }
  .box ul li.no2{
   left:360px;
  }
  .box ul li.no3{
   left:540px;
  }
  .box ul li.no4{
   left:720px;
  }
  /*    */
  .mask{
   position: absolute;
   width: 560px;
   height: 300px;
   top:0;
   left: 0;
   background-color: rgba(0,0,0,.5);
  }
 </style>
</head>
<body>
 <div class="box" id="box">
  <ul>
   <li class="no0">
    <div class="mask"></div>
    <a href=""><img src=" images/0.jpg" alt=""></a>
   </li>
   <li class="no1">
    <div class="mask"></div>
    <a href=""><img src=" images/1.jpg" alt=""></a>
   </li>
   <li class="no2">
    <div class="mask"></div>
    <a href=""><img src=" images/2.jpg" alt=""></a>
   </li>
   <li class="no3">
    <div class="mask"></div>
    <a href=""><img src=" images/3.jpg" alt=""></a>
   </li>
   <li class="no4">
    <div class="mask"></div>
    <a href=""><img src=" images/4.jpg" alt=""></a>
   </li>
  </ul>
 </div>
 <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
 <script type="text/javascript">


  //   li        
  $("li").mouseenter(function(){
   //       li      
   var idx = $(this).index();

   //       idx    85 * i。
   $("li:lt(" + (idx + 1 )+ ")").each(function(i){
    // each i          。
    // console.log(i);
    $(this).stop(true).animate({"left": 85 * i},300);
   });

   //       idx    
   $("li:gt(" + idx + ")").each(function(i){
    // console.log(i);
    $(this).stop(true).animate({"left": 560 + 85 * (idx + i)},300);
   });

   //      li   
   $(this).children(".mask").stop(true).fadeOut();
   //   
   $(this).siblings().children(".mask").stop(true).fadeIn();
  });


  //        
  $(".box").mouseleave(function(){
   //   li  180  
   $("li").each(function(i){
    // console.log(i)
    $(this).stop(true).animate({"left": 180 * i},300);
   });
   //     
   $("li").children(".mask").stop(true).fadeIn();
  });
 </script>
</body>
</html>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기