+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 源码论坛 > vue2 src_过度与动画 代码实例 >

vue2 src_过度与动画 代码实例

时间:2024-12-01 12:45:25
main.js
//引入Vue
import Vue from "vue";
//引入App
import App from './App';
 
//关闭Vue的生产提示
Vue.config.productionTip = false;
 
 
new Vue({
    el: '#app',
    render: h => h(App),
    beforeCreate() {
        //事件总线
       Vue.prototype.$bus = this;
    }
});
App.vue
<template>
  <div id="root">
    <Test/>
    <Test2/>
    <Test3/>
  </div>
</template>
 
<script>
import Test from "@/components/Test";
import Test2 from "@/components/Test2";
import Test3 from "@/components/Test3";
export default {
  name: "App",
  components:{
     Test,
     Test2,
     Test3
  },
}
</script>

 

Test.vue 

<template>
  <div>
    <button @click="isShow = !isShow">
      显示/隐藏
    </button>
    <transition name="hello" appear>
      <h1 v-show="isShow">你好啊!</h1>
    </transition>
  </div>
</template>
 
<script>
export default {
  name: "Test",
  data(){
    return {
      isShow: true
    }
  }
}
</script>
 
<style scoped>
  h1{
    background: orange;
  }
  .hello-enter-active{
    animation: anim linear 0.5s;
  }
 
  .hello-leave-active{
    animation: anim  linear 0.5s reverse;
  }
  @keyframes anim {
    from {
      transform: translateX(-100%);
    }
    to{
      transform: translateX(0px);
    }
  }
</style>

 

Test2.vue 

<template>
  <div>
    <button @click="isShow = !isShow">
      显示/隐藏
    </button>
    <!--transition 只能包裹一个元素而transition-group可以包含多个元素-->
    <transition-group name="hello" appear>
      <h1 v-show="isShow" key="1">你好!</h1>
      <h1 v-show="isShow" key="2">Shanghai</h1>
    </transition-group>
  </div>
</template>
 
<script>
export default {
  name: "Test2",
  data(){
    return {
      isShow: true
    }
  }
}
</script>
 
<style scoped>
  h1{
    background: orange;
  }
  /*进入的起点,离开的终点*/
  .hello-enter,
  .hello-leave-to{
    transform: translateX(-100%);
  }
  /*进入的过程,离开的过程*/
  .hello-enter-active,
  .hello-leave-active{
    transition: linear .5s;
  }
  /*进入的终点,离开的起点*/
  .hello-enter-to,
  .hello-leave{
    transform: translateX(0);
  }
 
</style>

 

Test3.vue

<template>
  <div>
    <button @click="isShow = !isShow">
      显示/隐藏
    </button>
    <!--transition 只能包裹一个元素而transition-group可以包含多个元素-->
    <transition-group
        appear
        name="animate__animated animate__bounce"
        enter-active-class="animate__swing"
        leave-active-class="animate__backOutUp"
    >
      <h1 v-show="isShow" key="1">你好!</h1>
      <h1 v-show="isShow" key="2">Shanghai</h1>
    </transition-group>
  </div>
</template>
 
<script>
import 'animate.css';
export default {
  name: "Test3",
  data(){
    return {
      isShow: true
    }
  }
}
</script>
 
<style scoped>
  h1{
    background: orange;
  }
</style>

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title