vue transition的延时播放实践过程
更新时间:2025年12月17日 09:34:57 作者:待煎的前端
文章介绍了如何使用JavaScript的`setTimeout`和Vue.js的`v-show`指令实现页面自动播放,并通过CSS的`transition`和`animation`属性控制动画的播放时间
1、显示的控制(利用setTimeout控制v-show)
这里利用了mounted() 生命周期函数,实现页面自动播放
<template>
<div class="container">
<transition name="bounce-in">
<div v-show="show" class="Demo">bounce-in</div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {
show: false
}
},
mounted() {
setTimeout(() => {
this.show = true;
}, 2000)
}
}
</script>
<style>
.bounce-in-enter-active {
animation: bounce-in .5s;
}
.bounce-in-enter,
.bounce-in-leave-to {
opacity: 0;
}
@keyframes bounce-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.5);
}
100% {
transform: scale(1);
}
}
.Demo{
color: #FFFFFF;
width: 300px;
height: 300px;
background-color: #0088FF;
position: absolute;
top:25%;
left:25%;
}
</style>
2、CSS的设置
(可以使用transition+transition-delay控制,animation+animation-delay也可以但是初始就显示了)
transition使用时,可以使用transition-delay延时播放
<template>
<div class="container">
<transition name="bounce-in">
<div v-show="show" class="Demo">bounce-in</div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {
show: false
}
},
mounted() {
this.show = true;
}
}
</script>
<style>
.bounce-in-enter-active {
transition: all 0.3s ease;
transition-delay: 2s;
}
.slide-fade-leave-active {
transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.bounce-in-enter,
.bounce-in-leave-to {
transform: translateX(100px);
opacity: 0;
}
@keyframes bounce-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.5);
}
100% {
transform: scale(1);
}
}
.Demo{
color: #FFFFFF;
width: 300px;
height: 300px;
background-color: #0088FF;
position: absolute;
top:25%;
left:25%;
}
</style>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue + Element-ui的下拉框el-select获取额外参数详解
这篇文章主要介绍了Vue + Element-ui的下拉框el-select获取额外参数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08
vue指令之表单控件绑定v-model v-model与v-bind结合使用
这篇文章主要介绍了vue指令之表单控件绑定v-model v-model与v-bind结合使用,需要的朋友可以参考下2019-04-04


最新评论