运用vue过渡和动画的知识,使用animte.css实现动画,要求实现一张图片的动态显示和隐藏,要求: 动画时长2s;动画播放次数两次; 在页面上显示出自己的班级学号姓名。
时间: 2023-11-22 12:55:48 浏览: 128
Vue过渡和动画效果展示(案例、GIF动图演示、附源码).doc
好的,我来给您提供一个 Vue 示例代码,使用 animate.css 实现图片的动态显示和隐藏:
```
<template>
<div>
<img v-show="showImg" class="animated" @click="toggleImg" src="./image.jpg" alt="图片">
<p>{{ classNumber }} {{ name }}</p>
</div>
</template>
<script>
import 'animate.css'; // 引入 animate.css 样式文件
export default {
data() {
return {
showImg: false, // 控制图片显示/隐藏
classNumber: '班级', // 替换为自己的班级学号
name: '姓名', // 替换为自己的姓名
};
},
methods: {
toggleImg() {
this.showImg = !this.showImg; // 点击切换图片显示/隐藏
},
},
mounted() {
const img = this.$el.querySelector('img');
img.addEventListener('animationend', () => {
img.classList.remove('animated', 'fadeInOut'); // 动画结束后移除动画类名
});
},
};
</script>
<style scoped>
.animated {
animation-duration: 2s; // 设置动画时长
animation-iteration-count: 2; // 设置动画播放次数
}
.fadeInOut {
animation-name: fadeInOut;
}
@keyframes fadeInOut {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
</style>
```
该示例中,我们使用了一个 `showImg` 变量来控制图片的显示/隐藏,点击图片时会触发 `toggleImg` 方法。同时,在图片元素上使用了 `animated` 类名和 `fadeInOut` 动画类名,以实现图片的渐入渐出效果。在 `mounted` 钩子函数中,我们监听了 `animationend` 事件,在动画结束后移除动画类名,以便下次播放动画。
最后,我们在 `<p>` 元素中显示了班级学号和姓名。您可以将 `classNumber` 和 `name` 数据替换为自己的班级学号和姓名。
阅读全文