JavaScript 实现简单手风琴效果代码示例

作者:拾光时间:2026-10-24 16:18:08浏览:137

本文提供了一段使用 JavaScript 实现简单手风琴效果的完整代码示例。通过监听鼠标悬停事件,结合自定义的 startMove 函数控制列表项宽度变化,实现点击或悬停时展开当前项并收缩其他项的交互效果。代码包含 HTML 结构、CSS 样式布局及核心 JS 逻辑,适合前端初学者参考学习。

JavaScript 手风琴效果实现

本文分享了使用 JavaScript 实现手风琴特效的具体代码,供读者参考学习。

最终呈现的视觉效果如下:

JavaScript 手风琴效果实现

具体实现代码如下:


<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style>
   *{
    margin:0;
    padding:0;
   }
   ul,li{
    list-style:none;
   }
   .box{
    width:1200px;
    height:260px;
    margin:50px auto 0;
    overflow: hidden;
   }
   .list{
    width:2000px;
    height:260px;
   }
   .list>li{
    width:200px;
    height:260px;
    float:left;
    background-image:url(images/1.jpg);
    background-position:center center;
    background-repeat:no-repeat;
   }
   .list>li:nth-child(2){
    background-image:url(images/2.jpg);
   }
   .list>li:nth-child(3){
    background-image:url(images/3.jpg);
   }
   .list>li:nth-child(4){
    background-image:url(images/4.jpg);
   }
   .list>li:nth-child(5){
    background-image:url(images/5.jpg);
   }
   .list>li:nth-child(6){
    background-image:url(images/6.jpg);
   }
  </style>
 </head>
 <body>
  
  <div class="box">
   <ul class="list">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
   </ul>
  </div>
  
  <script src="js/startmove.js"></script>
  <script>
   
   var oLis = document.getElementsByClassName("list")[0].children;
   
   for(var i = 0; i < oLis.length; i++){
    oLis[i].onmouseover = function(){
     for(var j = 0; j < oLis.length; j++){
      startMove(oLis[j],{
       width:160
      },50)
     }
     startMove(this,{
      width:400
     },50)
    }
    oLis[i].onmouseout = function(){
     
     for(var j = 0; j < oLis.length; j++){
      startMove(oLis[j],{
       width:200
      },10)
     }
    }
   }
   
   
  </script>
 </body>
</html>

以上就是本文的全部内容,希望对读者的学习有所帮助,也欢迎大家继续支持本站。

作者最新文章