You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VueJs如何结合Animate.css库实现模态框的进入与退出动画

实现方案

你可以直接用Vue内置的过渡组件搭配Animate.css实现需求,无需手动控制类名切换和动画计时,修改后的代码如下:

完整修改后代码

template 部分

<template>
  <div class="backgroundImage" :style="{'background-image': 'url(' + require('../../assets/bkg.jpg') + ')'}">
    <div v-if="showModal" @click="closeModal"></div>
    <!-- Vue2版本请把<Transition>换成小写<transition> -->
    <Transition
      enter-active-class="animate__animated animate__bounceIn animate__slow"
      leave-active-class="animate__animated animate__bounceOut animate__slow"
    >
      <div class="modal" v-if="showModal">
        <img  id="synthesisFt" src="../../assets/popup-ftt.jpg" alt="Logo FunkTheTown" title="FunkTheTown" @click="closeModal"/>
      </div>
    </Transition>
    <div>
      <img class="logo-img" src="../../assets/logo.png" alt="Logo FunkTheTown" title="FunkTheTown" />
    </div>
  </div>
</template>

script 部分

<script>
export default {
  data () {
    return {
      showModal: false
    }
  },
  mounted:function(){
    this.popup() 
  },
  methods: {
    popup : function () {
      setTimeout(() => {
        this.showModal = true;
      }, 3000);
    },
    closeModal() {
      this.showModal = false
    }
  }
}
</script>

核心修改说明

  • 用Vue内置的过渡组件包裹模态框元素,直接配置进入、离开阶段对应的Animate.css类即可自动匹配动画
  • 过渡组件会自动监听动画完成事件,退出动画执行结束后才会卸载DOM元素,不会出现动画没跑完元素就消失的问题
  • 如果你用的是Vue2版本,把<Transition>标签换成小写的<transition>即可正常使用

内容的提问来源于stack exchange,提问作者Hao73

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:42:03