Vue를 사용하여 애니메이션 효과를 얻는 방법(코드 포함) 교육

奋力向前
풀어 주다: 2021-08-19 09:47:49
앞으로
3142명이 탐색했습니다.

이전 글 "CSS3를 사용하여 간단한 페이지 레이아웃을 만드는 방법을 단계별로 가르쳐드립니다(자세한 코드 설명)"에서는 CSS3를 사용하여 간단한 페이지 레이아웃을 만드는 방법을 소개했습니다. 다음 글은 Vue를 사용하여 애니메이션 효과를 얻는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Vue를 사용하여 애니메이션 효과를 얻는 방법(코드 포함) 교육

공식 API 주소: https://cn.vuejs.org/v2/guide/transitions.html

공식 데모 클릭하면 표시되고 사라집니다demo点击显示与消失

<div id="demo">
  <button v-on:click="show = !show">
    Toggle
  </button>
  <transition name="fade">
    <p v-if="show">hello</p>
  </transition>
</div>
<script>
  new Vue({
    el: "#demo",
    data: {
      show: true,
    },
  });
</script>
<style>
  .fade-enter-active,
  .fade-leave-active {
    transition: opacity 0.5s;
  }
  .fade-enter,
  .fade-leave-active {
    opacity: 0;
  }
</style>
로그인 후 복사

transition 使用

<transition name="fade">
  (元素,属性、路由....)
</transition>
로그인 후 복사

<strong>class</strong>定义

.fade-enter{ }进入过渡的开始状态,元素被插入时生效,只应用一帧后立即删除;(运动的初始状态)

.fade-enter-active{ }进入过渡的结束状态,元素被插入时就生效,在transition/animation完成之后移除。这个类可以被用来定义过渡的过程时间,延迟和曲线函数。

.fade-leave{ }离开过渡的开始状态,元素被删除时触发,只应用一帧后立即删除;

.fade-leave-active{ }离开过渡的结束状态,元素被删除时生效,在transition/animation完成之后移除。这个类可以被用来定义过渡的过程时间,延迟和曲线函数。

自定义过度类名

  • 默认的 .fade-enter变成 .fade-in-enter

  • 默认的 .fade-enter-active变成 .fade-in-active

  • 默认的 .fade-leave变成 .fade-out-enter

  • 默认的 .fade-leave-active变成 .fade-out-active

<transition
  name="fade"
  enter-class="fade-in-enter"
  enter-active-class="fade-in-active"
  leave-class="fade-out-enter"
  leave-active-class="fade-out-active"
>
  <p v-show="show">hello</p>
</transition>
로그인 후 복사
.fade-in-active,
.fade-out-active {
  transition: all 0.5s ease;
}
.fade-in-enter,
.fade-out-active {
  opacity: 0;
}
로그인 후 복사

transition相关函数

<transition
  name="fade"
  @before-enter="beforeEnter"
  @enter="enter"
  @after-enter="afterEnter"
  @before-leave="beforeLeave"
  @leave="leave"
  @after-leave="afterLeave"
>
  <div v-show="show"></div>
</transition>
<script>
  export default {
    methods: {
      beforeEnter(el) {
        console.log("动画enter之前");
      },
      enter(el) {
        console.log("动画enter进入");
      },
      afterEnter(el) {
        console.log("动画进入之后");
        el.style.background = "blue";
      },
      beforeLeave(el) {
        console.log("动画leave之前");
      },
      leave(el) {
        console.log("动画leave");
      },
      afterLeave(el) {
        console.log("动画leave之后");
        el.style.background = "red";
      },
    },
  };
</script>
로그인 후 복사

transition结合animate.css使用

以下代码演示元素以 X 轴为基线,翻转进场出场的动画Animate.css

<!-- 翻转进场出场-->
<transition enter-active-class="flipInX" leave-active-class="flipOutX">
  <div v-show="show" class="animated"></div>
</transition>
<!-- 或者 -->
<transition
  enter-active-class="animated flipInX"
  leave-active-class="animated flipOutX"
>
  <div v-show="show"></div>
</transition>
로그인 후 복사

transition
<transition-group enter-active-class="flipInX" leave-active-class="flipOutX">
  <div v-show="show" :key="x" v-for="x in 5"></div>
</transition-group>
로그인 후 복사

<strong>class</strong>정의

.fade-enter{ }를 사용하여 입력하세요. 전환 요소가 삽입될 때 적용되는 시작 상태는 하나의 프레임만 적용한 후 즉시 삭제됩니다. (모션의 초기 상태)

.fade-enter-active{ } 끝으로 들어갑니다. 전환 상태이며 요소가 삽입됩니다. 전환/애니메이션이 완료되고 제거되면 적용됩니다. 이 클래스는 전환 프로세스 시간, 지연 및 곡선 기능을 정의하는 데 사용할 수 있습니다.

.fade-leave{ }요소가 삭제될 때 트리거되고 하나의 프레임만 적용한 후 즉시 삭제되는 전환의 시작 상태를 종료합니다.

.fade-leave- active{ } code>전환의 종료 상태를 종료하고 요소가 삭제될 때 적용되며 전환/애니메이션이 완료된 후에 제거됩니다. 이 클래스는 전환 프로세스 시간, 지연 및 곡선 기능을 정의하는 데 사용할 수 있습니다. 사용자 정의된 전환 클래스 이름

  • 🎜기본 .fade-enter.fade-in-enter🎜
  • 🎜기본 .fade-enter-active .fade-in-active🎜
  • 🎜가 됩니다. 기본 .fade-leave .fade-out-enter🎜
  • 🎜기본 .fade-leave-active가 됩니다. >는 .fade-out-active🎜
rrreeerrreee🎜transition 관련 함수🎜rrreee🎜transition사용 🎜🎜 🎜 animate.css와 함께 다음 코드는 X축을 기준으로 사용하여 요소를 뒤집는 애니메이션을 보여줍니다. Animate.css 라이브러리 주소: https: //animate.style/🎜🎜rrreee🎜목록 전환🎜rrreee🎜🎜그룹화 시 키 값이 애니메이션 전환에 직접적인 영향을 미치므로 주의해야 합니다. 자세한 내용은 🎜vue를 참조하세요. 애니메이션 키 값은 전환 애니메이션의 성능에 영향을 미칩니다🎜🎜 🎜🎜추천 학습: 🎜JavaScript 비디오 튜토리얼🎜🎜

위 내용은 Vue를 사용하여 애니메이션 효과를 얻는 방법(코드 포함) 교육의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:chuchur.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!