【发布时间】:2021-10-21 03:30:49
【问题描述】:
如果我第一次单击它,它会按预期旋转。
但是当我再次单击该按钮时,动画不起作用。
App.vue
<template>
<div class="item">
<button class="learn-more-btn" @click="toggleShow">
<span>Rotate</span>
<img
src="./assets/logo.png"
alt="arrow"
:class="arrowLeft"
width="50"
height="50"
/>
</button>
</div>
</template>
<script>
export default {
components: {},
data() {
return {
showMore: false,
};
},
methods: {
toggleShow() {
this.showMore = !this.showMore;
},
},
computed: {
arrowLeft() {
let arrow = "turn-arrow";
if (this.showMore === true) {
return arrow;
}
return true;
},
},
};
</script>
<style scoped lang="scss">
.item {
display: flex;
border: 1px solid grey;
width: 150px;
.learn-more-btn {
display: flex;
justify-content: center;
align-items: center;
background-color: transparent;
border: none;
&:hover {
cursor: pointer;
}
img {
display: inline-block;
}
.turn-arrow {
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
transition: all 3000ms;
}
span {
padding: 0 0.5rem;
}
}
}
</style>
代码沙盒:
https://codesandbox.io/s/headless-fire-ng001?file=/src/App.vue
【问题讨论】:
标签: javascript html css vue.js