vue点击重复执行animate动画

vue点击重复执行animate动画

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>title</title>
		<meta name="viewport" content="width=640,target-densitydpi=320,user-scalable=no">
		<meta name="viewport"
			content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
		<link rel="stylesheet" href="./css/elementui.css">
		<link rel="stylesheet" href="./css/index.css">
		<script src="js/vue.js"></script>
		<script src="js/elementui.js"></script>
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
		<style>

		</style>
	</head>
	<body>
		<div id="app">
			<h1 class="animate__animated" :class="classname">请输入手机号码</h1>
			<span @click=err()>错误</span>
		</div>
		<script>
			new Vue({
    
    
				el: '#app',
				data: {
    
    
					classname: ''
				},
				methods: {
    
    
					err() {
    
    
						let that = this //如果定时器用普通函数就需要that哦,不然拿不到this
						this.$nextTick(function() {
    
    
							this.classname = '' //清空样式
							setTimeout(() => {
    
    
								that.classname = 'animate__shakeX' //设置动画
							}, 0)
						})
					}
				}
			})
		</script>
	</body>


</html>

猜你喜欢

转载自blog.csdn.net/weixin_44856917/article/details/127496677
今日推荐