这是一个简单的实现示例,你可以根据自己的需要进行修改和优化。

HTML 代码:

<div id='dock'>
  <div class='item'>
    <img src='icon1.png'>
  </div>
  <div class='item'>
    <img src='icon2.png'>
  </div>
  <div class='item'>
    <img src='icon3.png'>
  </div>
  <div class='item'>
    <img src='icon4.png'>
  </div>
</div>

CSS 代码:

#dock {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.item {
  margin: 0 20px;
  transition: all 0.2s ease-in-out;
}

.item:hover {
  transform: scale(1.2);
}

JavaScript 代码:

// 获取所有的dock栏item
var items = document.querySelectorAll('#dock .item');

// 遍历每个item,监听鼠标移入事件
for (var i = 0; i < items.length; i++) {
  items[i].addEventListener('mouseenter', function() {
    // 将当前item的z-index设为最高,使其在其他item之上
    this.style.zIndex = 100;
  });

  // 监听鼠标移出事件
  items[i].addEventListener('mouseleave', function() {
    // 将当前item的z-index设为默认值,使其回到原来的层级
    this.style.zIndex = 'auto';
  });
}

这样,当鼠标移入一个item时,它会放大并置于其他item之上,移出时则回到原来的大小和层级。你可以根据需要修改CSS样式和JavaScript代码来实现更多的效果。

JavaScript 实现模仿 Mac Dock 栏鼠标悬停放大效果

原文地址: https://www.cveoy.top/t/topic/lPtP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录