Vue组件过渡-淡入淡出

https://cn.vuejs.org/v2/guide/transitions.html#单元素-组件的过渡

以下是代码,新建一个html的文件,把代码拷贝进去之后,在浏览器上面打开就能看到效果:

<html>
	<head>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
	</head>
	<body>
		<div id="demo">
 			<button v-on:click="show = !show">
				Toggle
			</button>
			<transition name="fade">
				<p v-if="show">hello</p>
			</transition>
		</div>
		<div id="example-1">
			<button @click="show = !show">
				Toggle render
			</button>
			<transition name="slide-fade">
				<p v-if="show">hello</p>
			</transition>
		</div>
		<div id="example-2">
			<button @click="show = !show">Toggle show</button>
			<transition name="bounce">
			<p v-if="show">
				Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris facilisis enim libero, at lacinia diam fermentum id. Pellentesque habitant morbi tristique senectus et netus.</p>
			</transition>
		</div>

		<div id="example-3" >
			<button @click="show = !show">
				Toggle render
			</button>
			
			<transition
				name="custom-classes-transition"
				enter-active-class="animated tada"
				leave-active-class="animated bounceOutRight"
			>
				 <p v-if="show">hello</p>
			</transition>
		</div>
		<style type="text/css">
			.fade-enter-active, .fade-leave-active {
				transition: opacity .5s;
			}
			.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
				opacity: 0;
			}
			
			 
			.slide-fade-enter-active {
			  transition: all .3s ease;
			}
			.slide-fade-leave-active {
			  transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
			}
			.slide-fade-enter, .slide-fade-leave-to
			{
			  transform: translateX(10px);
			  opacity: 0;
			}
			
			
			.bounce-enter-active {
			  animation: bounce-in .5s;
			}
			.bounce-leave-active {
			  animation: bounce-in .5s reverse;
			}
			@keyframes bounce-in {
			  0% {
				transform: scale(0);
			  }
			  50% {
				transform: scale(1.5);
			  }
			  100% {
				transform: scale(1);
			  }
			}
		</style>
		<script type="text/javascript" >
			new Vue({
				el: '#demo',
				data: {
					show: true
				}
			});		

			new Vue({
				el: '#example-1',
				data: {
					show: true
				}
			});
			
			new Vue({
				el: '#example-2',
				data: {
					show: true
				}
			});
			new Vue({
				el: '#example-3',
				data: {
				show: true
				}
			});
		</script>
	</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值