鼠标移入icon图标来回摆动

图标旋转

<template>
	<div style="display: flex">
		<div class="goods" v-for="(item, index) in list" :key="index">
			<i
				:class="['iconfont', item.icon]"
				@mouseenter="onmouseenter(index)"
				@mouseout="onmouseout(index)"></i>
			<span class="title">{{ item.title }}</span>
		</div>
	</div>
</template>
<script setup>
import { ref } from 'vue'
const list = ref([
	{
		title: '我的商品',
		icon: 'icon-wodekuaidi'
	},
	{
		title: '我的订单',
		icon: 'icon-shangpincuxiao'
	},
	{
		title: '我的余额',
		icon: 'icon-wodezuji'
	}
])
const onmouseenter = (index) => {
	let imgList = document.getElementsByClassName('iconfont')
	imgList[index].style.animation = 'enter 1s linear infinite'
}
const onmouseout = (index) => {
	let imgList = document.getElementsByClassName('iconfont')
	imgList[index].style.animation = 'out 1s linear infinite'
}
</script>
<style>
body {
	font-size: 14px;
}
.goods {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-right: 12px;
}
.title {
	font-size: 8px;
}
@keyframes enter {
	0% {
		transform: rotate(20deg);
	}
	50% {
		transform: rotate(-20deg);
	}
	100% {
		transform: rotate(20deg);
	}
}
@keyframes out {
	100% {
		transform: rotate(0deg);
	}
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值