运用vue过渡和动画的知识,使用animte.css实现动画,要求实现一张图片的动态显示和隐藏,要求 (1)动画时长2s; (2)动画播放次数两次 (3)在页面上显示出自己的班级学号姓名完整代码
时间: 2023-11-22 15:57:00 浏览: 180
vue过渡和animate.css结合使用详解
以下是使用Vue和Animate.css实现图片动态显示和隐藏的完整代码,同时也包含了我的班级、学号和姓名:
```html
<template>
<div class="image-container">
<img src="./image.jpg" v-show="showImage" class="animated fadeInDown" @animationend="animationEndHandler">
</div>
<p>班级:XXX | 学号:XXX | 姓名:XXX</p>
</template>
<script>
import 'animate.css';
export default {
data() {
return {
showImage: false,
animationCount: 0
}
},
methods: {
animationEndHandler() {
// 动画播放结束时的处理函数
this.animationCount++;
if (this.animationCount < 2) {
// 如果动画播放次数不足两次,则重复播放动画
this.showImage = !this.showImage;
}
}
},
mounted() {
// 在组件挂载后2秒钟开始播放动画
setTimeout(() => {
this.showImage = true;
}, 2000);
}
}
</script>
<style>
.image-container {
position: relative;
}
img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
```
在代码中,我使用了Animate.css库提供的fadeInDown动画效果来实现图片的动态显示和隐藏。在mounted钩子函数中,我使用了setTimeout函数来延迟2秒钟后将showImage属性设置为true,从而开始播放动画。在animationEndHandler方法中,我判断当前动画播放次数是否达到两次,如果不足两次则重复播放动画。最后,在组件中加入了一段显示班级、学号和姓名的HTML代码。
需要注意的是,在HTML中要使用img标签来显示图片,并且需要将其包含在一个容器中,以便对图片进行定位和居中处理。同时,也需要在样式中设置容器的position属性为relative,以便让绝对定位的图片相对于容器进行定位。
阅读全文