使用vue3模拟Mac程序坞鼠标悬停动画

简介: 要使用 Vue 3 模拟 Mac 程序坞(Dock)鼠标悬停动画,你可以使用 Vue 的过渡效果和动态类绑定来实现。

要使用 Vue 3 模拟 Mac 程序坞(Dock)鼠标悬停动画,你可以使用 Vue 的过渡效果和动态类绑定来实现。

<div id="app">
  <div class="dock">
    <div
      class="dock-item"
      v-for="(item, index) in dockItems"
      :key="index"
      :class="{ active: item.active }"
      @mouseover="hoverItem(index)"
      @mouseout="unhoverItem(index)"
    >
      {{ item.name }}
    </div>
  </div>
</div>

CSS 代码:

.dock {
  display: flex;
  justify-content: center;
  background-color: #f0f0f0;
  padding: 10px;
}
.dock-item {
  padding: 10px;
  cursor: pointer;
}
.dock-item.active {
  background-color: #c0c0c0;
  color: #fff;
}

Vue 代码:

const app = Vue.createApp({
  data() {
    return {
      dockItems: [
        { name: 'Safari', active: false },
        { name: 'Mail', active: false },
        { name: 'Calendar', active: false },
        { name: 'Notes', active: false }
      ]
    };
  },
  methods: {
    hoverItem(index) {
      this.dockItems[index].active = true;
    },
    unhoverItem(index) {
      this.dockItems[index].active = false;
    }
  }
});
app.mount('#app');

在上述代码中,我们使用 Vue 3 创建了一个 Vue 应用,并定义了一个 dockItems 数据数组,其中每个 Dock 项都包含名称和活动状态的信息。


在 HTML 中,我们使用 Vue 的指令 v-for 循环渲染 Dock 项,并通过动态类绑定 :class 来根据 active 属性来切换项的样式。当鼠标悬停时,调用 hoverItem 方法将 Dock 项的 active 属性设置为 true,从而改变项的样式。当鼠标离开时,调用 unhoverItem 方法将 Dock 项的 active 属性设置为 false,还原项的样式。


请确保在 HTML 文件中引入了 Vue.js 库,并将以上代码放置在正确的位置。


这样,当你将代码复制到 HTML 文件中并在浏览器中打开时,就可以看到 Vue 3 模拟 Mac 程序坞鼠标悬停动画的效果了。

相关文章
|
3天前
|
JavaScript
vue实战——404页面模板001——男女手电筒动画
vue实战——404页面模板001——男女手电筒动画
8 1
|
6天前
|
JavaScript
vue 组件封装 | s-fullpage 全屏滚动 (内含绑定鼠标滑轮滚动事件、避免鼠标滑轮连续滚动、滑动过渡动画等实用技巧)
vue 组件封装 | s-fullpage 全屏滚动 (内含绑定鼠标滑轮滚动事件、避免鼠标滑轮连续滚动、滑动过渡动画等实用技巧)
15 4
|
6天前
|
JavaScript 前端开发
vue动画——旋转动画(悬浮触发、点击触发)
vue动画——旋转动画(悬浮触发、点击触发)
13 1
|
3天前
|
JavaScript
vue 组件封装 -- 添加【呼吸】动画效果(两种: 淡入>>淡入,淡入>>淡出>>淡入)
vue 组件封装 -- 添加【呼吸】动画效果(两种: 淡入>>淡入,淡入>>淡出>>淡入)
5 0
|
5天前
|
JavaScript
vue 半场动画【实战范例】购物时小球弧线飞落
vue 半场动画【实战范例】购物时小球弧线飞落
7 0
|
5天前
|
JavaScript
vue 首屏添加加载动画 loading
vue 首屏添加加载动画 loading
4 0
|
5天前
|
JavaScript 前端开发 API
Vue Router【详解】含路由配置、路由定义、路由跳转、路由传参、自动注册路由、路由守卫、页面滚动、监听路由、$route、$router、路由过渡动画等
Vue Router【详解】含路由配置、路由定义、路由跳转、路由传参、自动注册路由、路由守卫、页面滚动、监听路由、$route、$router、路由过渡动画等
8 0
|
6天前
|
JavaScript
vue 动画 —— 滚动动画
vue 动画 —— 滚动动画
6 0
|
6天前
|
JavaScript
vue 组件封装 | s-scroll 页面滚动动画
vue 组件封装 | s-scroll 页面滚动动画
10 0
|
6天前
|
JavaScript 容器
Vue 动画 —— 滑动切换动画 / 滑动翻页过渡动画——从顶部到底部、从底部到顶部、从左侧到右侧、从右侧到左侧
Vue 动画 —— 滑动切换动画 / 滑动翻页过渡动画——从顶部到底部、从底部到顶部、从左侧到右侧、从右侧到左侧
9 0