1. 程式人生 > 程式設計 >jQuery實現手風琴效果(蒙版)

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,.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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。