与 Vue 集成使用
Anime.js 非常适合与 Vue 组件配合使用,常见用法包括:
- 在组件
mounted钩子中初始化动画 - 在事件(如点击、鼠标悬停)中触发动画
- 与
ref或v-bind:class等 Vue 特性结合使用
示例:点击按钮让方块移动
在 Vue 中使用 Anime.js 时,只需通过 ref 获取 DOM 元素,并在事件或生命周期中调用动画函数即可。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Anime.js 与 Vue 集成示例</title>
<style>
#app {
text-align: center;
margin-top: 80px;
}
.box {
width: 80px;
height: 80px;
background-color: #4FC08D;
border-radius: 8px;
margin: 20px auto;
}
button {
padding: 8px 16px;
font-size: 16px;
background-color: #4FC08D;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
}
button:hover {
background-color: #3a9d6f;
}
</style>
</head>
<body>
<div id="app">
<div ref="box" class="box"></div>
<button @click="play">点击播放动画</button>
</div>
<!-- Vue CDN -->
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
<!-- Anime.js CDN -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js"></script>
<script>
const { createApp, ref, onMounted } = Vue;
createApp({
setup() {
const box = ref(null);
const play = () => {
anime({
targets: box.value,
translateX: 250,
duration: 800,
easing: 'easeInOutQuad'
});
};
return { box, play };
}
}).mount('#app');
</script>
</body>
</html>
`
小结
Anime.js 可以无缝用于 Vue 2/3 项目中,建议结合 Vue 的响应式和生命周期特性,实现灵活的组件动效。
相关内容
- Anime.js 简介 本节介绍 Anime.js 是什么,它是一款轻量级、功能丰富的 JavaScript 动画库,适用于构建现代网页中的各种动效。通过 Anime.js,开发者可以...
- 引入方式 本节介绍如何将 Anime.js 应用到你的项目中,包括使用 CDN、NPM 安装以及与构建工具和框架集成的方法,帮助你根据项目需求选择最佳的引入方式。
- 目标元素 targets 本节介绍 Anime.js 中 targets 的使用方法,包括选择器、DOM 节点、NodeList、数组等不同形式的目标设置方式,并讲解如何同时对多个元素进...
- 常用属性动画 本节介绍 Anime.js 中最常用的动画属性,包括位移、缩放、旋转、透明度、颜色等,帮助开发者快速掌握实际动画制作中的常见属性及应用技巧。
- 基本参数设置 本节介绍 Anime.js 动画的基础参数配置,包括持续时间、延迟、缓动函数、循环、方向等,帮助开发者灵活控制动画表现。
- 事件监听 本节介绍 Anime.js 中动画事件监听机制,包括动画开始、更新、完成和停止等事件的使用方法,帮助开发者灵活响应动画状态变化。