• Vue封装的过度与动画


    transition标签

    1. 标签用于包裹需要动画的元素
    2. 当包裹住的元素隐藏或者显示时会自动调用
      1. 显示动画:v-enter-active

      2. 隐藏动画:.v-leave-active

    3. 示例

      1. <template>
      2. <div>
      3. <button @click="isShow = !isShow">点击切换button>
      4. <transition>
      5. <h1 v-show="isShow" style="background-color: orange">你好啊!!!h1>
      6. transition>
      7. div>
      8. template>
      9. <script>
      10. export default {
      11. name: "Test",
      12. data() {
      13. return {
      14. isShow: true,
      15. };
      16. },
      17. };
      18. script>
      19. <style scoped>
      20. .v-enter-active {
      21. animation: xin 1s linear;
      22. }
      23. .v-leave-active {
      24. animation: xin 1s linear reverse;
      25. }
      26. @keyframes xin {
      27. 0% {
      28. transform: translateX(-100%);
      29. }
      30. 100% {
      31. transform: translateX(0px);
      32. }
      33. }
      34. style>
    4. transition的name属性能够指定动画

      1.  但是动画必须是“名称”-enter-active,或者‘名称’-enter-active

      2. 示例

        1. <template>
        2. <div>
        3. <button @click="isShow = !isShow">点击切换button>
        4. <transition name="word">
        5. <h1 v-show="isShow" style="background-color: orange">你好啊!!!h1>
        6. transition>
        7. div>
        8. template>
        9. <script>
        10. export default {
        11. name: "Test",
        12. data() {
        13. return {
        14. isShow: true,
        15. };
        16. },
        17. };
        18. script>
        19. <style scoped>
        20. .word-enter-active {
        21. animation: xin 1s linear;
        22. }
        23. .word-leave-active {
        24. animation: xin 1s linear reverse;
        25. }
        26. @keyframes xin {
        27. 0% {
        28. transform: translateX(-100%);
        29. }
        30. 100% {
        31. transform: translateX(0px);
        32. }
        33. }
        34. style>
    5. 一开始就显示出现动画需要给transition添加appear属性

      1.    

    6. transition只起到一个容器的作用,并不会出现在HTML中

    7. transition与过度配合使用实现4.2

      1. <template>
      2. <div>
      3. <button @click="isShow = !isShow">点击切换button>
      4. <transition name="word" appear>
      5. <h1 v-show="isShow" style="background-color: orange">你好啊!!!h1>
      6. transition>
      7. div>
      8. template>
      9. <script>
      10. export default {
      11. name: "Test",
      12. data() {
      13. return {
      14. isShow: true,
      15. };
      16. },
      17. };
      18. script>
      19. <style scoped>
      20. /* 进入的起点,离开的终点 */
      21. .word-enter,
      22. .word-leave-to {
      23. transform: translateX(-100%);
      24. }
      25. /* 给来到和离开添加过度 */
      26. .word-enter-active,
      27. .word-leave-active {
      28. transition: 0.5s linear;
      29. }
      30. /* 进入的终点,离开的起点 */
      31. .word-enter-to,
      32. .word-leave {
      33. transform: translateX(0);
      34. }
      35. style>

    transition-group标签

    1. 用于多个元素使用相同的动画。
    2. 必须给包含需要动画的元素key值。
    3. 示例
      1. <template>
      2. <div>
      3. <button @click="isShow = !isShow">点击切换button>
      4. <transition-group name="word" appear>
      5. <h1 v-show="isShow" key="1" style="background-color: orange">你好啊!!!h1>
      6. <h1 v-show="!isShow" key="2" style="background-color: orange">你好啊!!!h1>
      7. transition-group>
      8. div>
      9. template>
      10. <script>
      11. export default {
      12. name: "Test",
      13. data() {
      14. return {
      15. isShow: true,
      16. };
      17. },
      18. };
      19. script>
      20. <style scoped>
      21. /* 进入的起点,离开的终点 */
      22. .word-enter,
      23. .word-leave-to {
      24. transform: translateX(-100%);
      25. }
      26. /* 给来到和离开添加过度 */
      27. .word-enter-active,
      28. .word-leave-active {
      29. transition: 0.5s linear;
      30. }
      31. /* 进入的终点,离开的起点 */
      32. .word-enter-to,
      33. .word-leave {
      34. transform: translateX(0);
      35. }
      36. style>

    使用第三方集成的动画

    1. <script>
    2. import 'animate.css';
    3. export default {
    4. name: "Test",
    5. data() {
    6. return {
    7. isShow: true,
    8. };
    9. },
    10. };
    11. script>
    12. <style scoped>
    13. /* 进入的起点,离开的终点 */
    14. .word-enter,
    15. .word-leave-to {
    16. transform: translateX(-100%);
    17. }
    18. /* 给来到和离开添加过度 */
    19. .word-enter-active,
    20. .word-leave-active {
    21. transition: 0.5s linear;
    22. }
    23. /* 进入的终点,离开的起点 */
    24. .word-enter-to,
    25. .word-leave {
    26. transform: translateX(0);
    27. }
    28. style>

    Vue封装的过度与动画

    1. 作用:在插入,更新或者一处DOM元素时,在核实的时候给元素添加样式类名。
    2. 类名与对应的作用
      1. 元素进入的样式:
        1. v-enter:进入的起点
        2. v-enter-active:进入的过程中
        3. v-enter-to:进入的终点
      2. 元素离开的样式:
        1. v-leave:进入的起点
        2. v-leave-active:进入的过程中
        3. v-leave-to:进入的终点

  • 相关阅读:
    数据库连接池有什么用?它有哪些关键参数?
    1500*C1. Potions (Easy Version)(贪心&优先队列)
    【LeetCode】【简单】【2】20. 有效的括号
    Android MQTT开发之 Hivemq MQTT Client
    Flask框架:如何运用Ajax轮询动态绘图
    十一、结构型 外观模式(Facade Pattern)
    Qt vs2022使用QCefView控件与html通信
    js基础语法和代码示例(11-20)
    【最小的k个数】
    瑞芯微RV1126——ffmpeg环境搭建
  • 原文地址:https://blog.csdn.net/LYXlyxll/article/details/126015586