vue项目中 动画 枫叶下落 消失 再显示 代码
时间: 2024-05-02 14:22:28 浏览: 10
非常感谢您的提问。以下是一个简单的 vue 代码示例,可以让枫叶在页面中下落、消失、再次显示:
```vue
<template>
<div>
<transition name="fade">
<img v-show="isShow" class="leaf" src="./leaf.png">
</transition>
</div>
</template>
<script>
export default {
data() {
return {
isShow: false
};
},
methods: {
fallingLeaves() {
this.isShow = true;
setTimeout(() => {
this.isShow = false;
}, 1000);
setTimeout(() => {
this.isShow = true;
}, 2000);
}
}
};
</script>
<style>
.leaf {
position: absolute;
left: 50%;
transform: translateX(-50%);
animation-name: fall;
animation-duration: 1s;
animation-timing-function: linear;
animation-fill-mode: forwards;
}
@keyframes fall {
from {
top: -30px;
}
to {
top: 100%;
}
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.7s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
</style>
```
在这个例子中,我们使用 Vue.transition 来在枫叶消失/显示时提供动画效果。我们使用了一个 isShow 变量来在枫叶的显示和隐藏之间进行切换,并设置了两个 setTimeout 来在 1 秒钟和 2 秒钟时更改 isShow 值。
在 CSS 部分,我们定义了动画名称、持续时间、动画填充模式等样式,使得枫叶可以拥有更流畅的下落动画。同时,对于枫叶的消失和显示,我们定义了 fade 动画来提供渐变效果。
希望这个例子能够帮助您实现您想要的功能。如果您有任何其他问题或疑问,请随时问我。