亲宝软件园·资讯

展开

jQuery实现手风琴效果(蒙版)

赵羽珩 人气:0

本文实例为大家分享了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>

加载全部内容

相关教程
猜你喜欢
用户评论