1

目前我在 Vue.js 工作,并且有一个我想要动画的导航菜单。我要做的是li在用户将鼠标悬停在其中一个导航按钮上时显示两个元素。目前我正在做的是将数据类型showActivities默认设置为 false 并将其设置为true onmouseenterfalse on mouseleave。所以这让项目在悬停时出现和消失,但它们不是动画的。这个动画怎么做?

<ul class="navs">
      <li>Schedule</li>
      <li @mouseenter="showActivities = true" @mouseleave="showActivities = false">Team Activity</li>
      <li v-show="showActivities">tik tak tow</li>
      <li v-show="showActivities">Bejewel</li>
      <li>Resources</li>
      <li class="logout"><a href="https://google.com" target="_blank">Logout</a></li>
    </ul>

<script>
export default {
  name: 'SideMenu',
  data() {
    return {
      showActivities: false,
    };
  },
};
</script>
4

1 回答 1

2

好吧,如果我让你正确的话,你想要一种动画,比如缓慢的淡入淡出。在 vuejs 转换中,状态附加到可以调用的 CSS 类,并且可以根据需要进行修改。文档更清楚 Vuejs Transitions

例如,如果您在 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;
}
于 2021-05-08T19:16:16.517 回答