Vue之过渡动画(一)

[Vue][V-move]列表进入/离开的平滑过渡,官方教程学习释疑 列表的进入/离开过渡,对列表直接操作(增、删)的元素,封装并按常规的CSS或JS过渡即可;但在操作这些元素的位置变化时,由于DOM文档流的变化,会同时引起其它(邻近)节点元素的位置变化,例如在列表插入一个,插入点原本的会下移,删除一个,下面的会上移补充占据这个位置。 对于这些“被动”移动的元素来说,也可以实现过渡,这就用到了v-move 特性。   v-move 特性。会在元素的改变定位的过 阅读详情

3.1、进入/离开 & 列表过渡

1. Overview

  1. Vue provides a variety of ways to apply transition effects when items are inserted, updated, or removed from the DOM.
  2. On this page, we’ll only cover **entering, leaving, **and list transitions, but you can see the next section for managing state transitions.

DOM操作时的过渡效果,让页面更丝滑。

2. 单元素/组件的过渡

先来个demo开开胃,完整代码

<style>
  .fade-enter-active, .fade-leave-active {
    transition: opacity .5s;
  }
  .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
    opacity: 0;
  }
</style>

<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>

2.1 过渡的类名(Transition Classes)

There are six classes applied for enter/leave transitions.

enter/leave过渡中,会有6个class切换

  • v-enter
  • v-enter-active
  • v-enter-to (2.1.8+)
  • v-leave
  • v-leave-active
  • v-leave-to (2.1.8+)

在这里插入图片描述

2.2 CSS过渡

即给上面例子中的 .fade-enter-active, .fade-leave-active 这些类名应用的CSS样式

2.3 CSS动画

写法差不多,就是把transition换成animation 完整代码

<style>
  .bounce-enter-active {
    animation: bounce-in .5s;
  }

  .bounce-leave-active {
    animation: bounce-in .5s reverse;
  }

  @keyframes bounce-in {
    0% {
      transform: scale(0);
    }
    50% {
      transform: scale(1.5);
    }
    100% {
      transform: scale(1);
    }
  }
</style>

<div id="example-2">
  <button @click="show = !show">Toggle show</button>
  <transition name="bounce">
    <p v-if="show">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris facilisis enim libero, at lacinia diam fermentum id. Pellentesque habitant morbi tristique senectus et netus.</p>
  </transition>
</div>
<script>
    new Vue({
        el: '#example-2',
        data: {
            show: true
        }
    })
</script>


2.4 自定义过渡的类名

我们可以通过以下 attribute 来自定义过渡类名:

  • enter-class
  • enter-active-class
  • enter-to-class (2.1.8+)
  • leave-class
  • leave-active-class
  • leave-to-class (2.1.8+)

如下与 Animate.css的结合使用:完整代码

<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">

<div id="example-3">
  <button @click="show = !show">
    Toggle render
  </button>
  <transition
    name="custom-classes-transition"
    enter-active-class="animated tada"
    leave-active-class="animated bounceOutRight"
  >
    <p v-if="show">hello</p>
  </transition>
</div>

<script>
  new Vue({
    el: '#example-3',
    data: {
      show: true
    }
  })
</script>

2.5 同时使用过渡和动画

要同时使用过渡和动画,要用type属性指明类型:animation or transition

2.6 指定过渡的时间

<transition :duration="1000">...</transition>
<transition :duration="{ enter: 500, leave: 800 }">...</transition>

2.7 JavaScript钩子(JavaScript Hooks)

用js代码操作动画
如下使用了Velocity.js动画库,完整代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>

<div id="example-4">
  <button @click="show = !show">
    Toggle
  </button>
  <transition
    v-on:before-enter="beforeEnter"
    v-on:enter="enter"
    v-on:leave="leave"
    v-bind:css="false"
  >
    <p v-if="show">
      Demo
    </p>
  </transition>
</div>

<script>
    new Vue({
        el: '#example-4',
        data: {
            show: false
        },
        methods: {
            beforeEnter: function (el) {
                el.style.opacity = 0
                el.style.transformOrigin = 'left'
            },
            enter: function (el, done) {
                Velocity(el, {opacity: 1, fontSize: '1.4em'}, {duration: 300})
                Velocity(el, {fontSize: '1em'}, {complete: done})
            },
            leave: function (el, done) {
                Velocity(el, {translateX: '15px', rotateZ: '50deg'}, {duration: 600})
                Velocity(el, {rotateZ: '100deg'}, {loop: 2})
                Velocity(el, {
                    rotateZ: '45deg',
                    translateY: '30px',
                    translateX: '30px',
                    opacity: 0
                }, {complete: done})
            }
        }
    })
</script>

3. 初始渲染的过渡(Transitions on Initial Render)

If you also want to apply a transition on the initial render of a node, you can add the appear attribute:

一个DOM节点初始化渲染到页面时可以引用过渡效果

<transition appear>
  <!-- ... -->
</transition>

// 【还自定义class】
<transition
  appear
  appear-class="custom-appear-class"
  appear-to-class="custom-appear-to-class" (2.1.8+)
  appear-active-class="custom-appear-active-class"
>
  <!-- ... -->
</transition>

// 【也可以自定义js钩子】
<transition
  appear
  v-on:before-appear="customBeforeAppearHook"
  v-on:appear="customAppearHook"
  v-on:after-appear="customAfterAppearHook"
  v-on:appear-cancelled="customAppearCancelledHook"
>
  <!-- ... -->
</transition>

4. 多个元素之间的过渡(Transitioning Between Elements)

一个常见的场景就是:渲染列表元素时,如果列表是空的,则渲染一个代表空列表的元素

<transition>
  <table v-if="items.length > 0">
    <!-- ... -->
  </table>
  <p v-else>Sorry, no items found.</p>
</transition>

需要注意:如果两个tag名一样的元素之间做过渡时,要加key demo如下:

<style>
  .bounce-enter-active {
    animation: bounce-in .5s;
  }

  .bounce-leave-active {
    animation: bounce-in .5s reverse;
  }

  @keyframes bounce-in {
    0% {
      transform: scale(0);
    }
    50% {
      transform: scale(1.5);
    }
    100% {
      transform: scale(1);
    }
  }
</style>
<div id="app">
    <transition name="bounce">
        <button v-bind:key="docState">
            {{ buttonMessage }}
        </button>
    </transition>
    <button @click="savebutton">切换按钮</button>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            docState: 'saved'
        },
        computed:{
            buttonMessage: function () {
                switch (this.docState) {
                    case 'saved': return 'Edit'
                    case 'edited': return 'Save'
                }
            }
        },
        methods: {
            savebutton:function () {
                if(this.docState == 'edited'){
                    this.docState = 'saved'
                }else {
                    this.docState = 'edited'
                }

            }
        }
    })
</script>

完整代码

4.1 过渡模式

可以设置两种过渡模式:

  • in-out: New element transitions in first, then when complete, the current element transitions out.

  • out-in: Current element transitions out first, then when complete, the new element transitions in.

我们来对比下设置了out-in模式和不设置的区别吧:给上面例子上的transition加上mode属性为out-in

 <transition name="bounce" mode="out-in">
   <button v-bind:key="docState">
     {{ buttonMessage }}
   </button>
 </transition>

加之前:
在这里插入图片描述
加之后:效果棒棒哒
在这里插入图片描述

5. 多个组件之间的过渡

组件之间的过渡更加简单,写法和元素一样,不需要加key:

<style>
  .component-fade-enter-active, .component-fade-leave-active {
    transition: opacity .3s ease;
  }
  .component-fade-enter, .component-fade-leave-to
  /* .component-fade-leave-active below version 2.1.8 */ {
    opacity: 0;
  }
</style>

<div id="app">
    <input type="radio" value="v-a" id="a" name="view" @change="view='v-a'">
    <label for="a">A</label>

    <input type="radio" value="v-b" id="b" name="view" @change="view='v-b'">
    <label for="b">B</label>
    <transition name="component-fade" mode="out-in">
        <component v-bind:is="view"></component>
    </transition>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            view: 'v-a'
        },
        components: {
            'v-a': {
                template: '<div>Component A</div>'
            },
            'v-b': {
                template: '<div>Component B</div>'
            }
        }
    })
</script>

完整代码

6. 列表过渡(List Transitions)

列表的Entering/Leaving过渡、Move Transitions移动过渡,用<transition-group>
有几个注意点:

  • 渲染时会转换为实际元素,默认为span,可以加tag标签指定,如下例子中指定为 tag='p'
  • 的内部元素上要加key
  • css过渡类是应用在内部元素上的,而不是 group/container itself.

6.1 List Entering/Leaving Transitions

<style>
  .list-complete-item {
    transition: all 1s;
    display: inline-block;
    margin-right: 10px;
  }

  .list-complete-enter, .list-complete-leave-to
  /* .list-complete-leave-active below version 2.1.8 */ {
    opacity: 0;
    transform: translateY(30px);
  }
  .list-complete-leave-active {
    position: absolute;
  }
</style>

<div id="list-demo">
    <button v-on:click="shuffle">Shuffle</button>
    <button v-on:click="add">Add</button>
    <button v-on:click="remove">Remove</button>

    <transition-group name="list-complete" tag="p">
    <span v-for="item in items" v-bind:key="item" class="list-complete-item">
      {{ item }}
    </span>
    </transition-group>
</div>

<script>
    new Vue({
        el: '#list-demo',
        data: {
            items: [1, 2, 3, 4, 5, 6, 7, 8, 9],
            nextNum: 10
        },
        methods: {
            randomIndex: function () {
                return Math.floor(Math.random() * this.items.length)
            },
            add: function () {
                this.items.splice(this.randomIndex(), 0, this.nextNum++)
            },
            remove: function () {
                this.items.splice(this.randomIndex(), 1)
            },
            shuffle: function () {
                this.items = _.shuffle(this.items)
            }
        }
    })
</script>

完整代码

6.2 List Move Transitions

上面演示了列表内元素进入/离开时的过渡效果,
为了列表中元素移动时的过渡效果,vue引入了v-move过渡类名,如下的:.flip-list-move

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"></script>
<style>
	.flip-list-move {
  	transition: transform 1s;
	}
</style>
<div id="flip-list-demo" class="demo">
  <button v-on:click="shuffle">Shuffle</button>
  <transition-group name="flip-list" tag="ul">
    <li v-for="item in items" v-bind:key="item">
      {{ item }}
    </li>
  </transition-group>
</div>

<script>
  new Vue({
    el: '#flip-list-demo',
    data: {
      items: [1,2,3,4,5,6,7,8,9]
    },
    methods: {
      shuffle: function () {
        this.items = _.shuffle(this.items)
      }
    }
  })
</script>

完整代码

6.3 列表使用Javascript钩子函数添加过渡效果

上面讲的都是列表用css进行过渡,列表也可以用js代码进行过渡,如下:

<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>

<div id="staggered-list-demo">
    <input v-model="query">
    <transition-group
            name="staggered-fade"
            tag="ul"
            v-bind:css="false"
            v-on:before-enter="beforeEnter"
            v-on:enter="enter"
            v-on:leave="leave"
    >
        <li
                v-for="(item, index) in computedList"
                v-bind:key="item.msg"
                v-bind:data-index="index"
        >{{ item.msg }}
        </li>
    </transition-group>
</div>

<script>
    new Vue({
        el: '#staggered-list-demo',
        data: {
            query: '',
            list: [
                { msg: 'Bruce Lee' },
                { msg: 'Jackie Chan' },
                { msg: 'Chuck Norris' },
                { msg: 'Jet Li' },
                { msg: 'Kung Fury' }
            ]
        },
        computed: {
            computedList: function () {
                var vm = this
                return this.list.filter(function (item) {
                    return item.msg.toLowerCase().indexOf(vm.query.toLowerCase()) !== -1
                })
            }
        },
        methods: {
            beforeEnter: function (el) {
                el.style.opacity = 0
                el.style.height = 0
            },
            enter: function (el, done) {
                var delay = el.dataset.index * 150
                setTimeout(function () {
                    Velocity(
                        el,
                        { opacity: 1, height: '1.6em' },
                        { complete: done }
                    )
                }, delay)
            },
            leave: function (el, done) {
                var delay = el.dataset.index * 150
                setTimeout(function () {
                    Velocity(
                        el,
                        { opacity: 0, height: 0 },
                        { complete: done }
                    )
                }, delay)
            }
        }
    })
</script>

完整代码

7. 可复用的过渡

To create a reusable transition, all you have to do is place a <transition> or <transition-group>

组件的过渡也也可以不用,相当于一个壳子,壳子上带着过渡效果,你可以复用到别的地方

8. 动态过渡

Yes, even transitions in Vue are data-driven! The most basic example of a dynamic transition binds the name attribute to a dynamic property.

由于过渡效果的实现都是在<transition> or <transition-group> 组件上添加属性,那么这些属性的属性值根据不同条件也可以被指定不同的动态值。
这就是动态过渡的由来。让过渡更加灵活和随心所欲

更多Vue文档解读:《Vue Doc 笔记》

【Vue】Vue的过渡动画 一、过渡动画 二、transition组件 三、transition的显示的CSS类名 四、transition的隐藏的CSS类名 五、互斥动画 六、设置动画过程中的监听回调 七、列表过渡动画 阅读详情

相关推荐

学一学在Vue2中实现过渡&动画的初始渲染和多个元素and组件过渡的效果

💪前言回顾初始渲染的过渡1. appear2. 自定义CSS类名多个元素的过渡过渡模式多个组件的过渡总结 本篇文章阅读大概耗时3分钟,感谢你的拜访 前言 昨天肝出的一篇文章竟然在 优快云每天值得看 上榜了,怎么说呢,心情非常愉悦,自己的付出得到了回报是一件很激励自己的事情,所以,我就接着来续写了哈哈,接下来的内容如果有看不懂的需要先去 教你用Vue2如何做过渡&动画效果+著名动画库 补习一下喔,还是不懂的话,在下方评论或者私信我说出你不解的地方,我看到就会帮助你解惑的。 同时,感谢优快云大

张浔优快云 1478

自定义指令v-move移动元素到任意位置

自定义指令v-move

小白变怪兽 737

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 530

Vue实现过渡动画的三种方式

Vue过渡动画

上庸者-不服周 9350

RL调参侠之BipedalWalker BipedalWalkerHardcore SAC

前几天用PPO训练了个很一般的agent: RL调参侠之BipedalWalker PPO 我看SpinningUp上面说PPO和SAC是两个领域里各自的State_of_the_art的方法,所以就打算跑SAC试试看,之前因为Open AI Five的原因,一直感觉PPO很牛掰,实际上现在很多自动驾驶的算法也是用PPO在跑,毕竟有一个“必定能够提升期望”的理论保证在这里,我理解这对做项目很大的诱惑。 不过我跑出来的结果明显是SAC更好。 调参侠时间 策略熵的权重alpha用的0.2,我一开始没有看SAC的

weixin_48370148的博客 2101

避坑指南:英飞凌TC3XX的MCMCAN初始化常见错误及解决方法

本文针对英飞凌TC3XX系列MCU的MCMCAN模块初始化难题,深入剖析了寄存器配置时序、总线监控模式误用、中断映射错误及Message RAM地址冲突四大常见陷阱。通过实战代码示例和诊断流程,提供了清晰的避坑指南和解决方案,帮助嵌入式开发者高效解决CAN FD通信故障,确保汽车电子与工业控制项目的稳定运行。

weixin_29193259的博客 246

vue过度动画详解

vue过度&动画详解

m0_47593192的博客 6071

基于python的排课表系统,用python编写排课系统

实现一个具体的课程管理系统。(5) 学生可以查看自己选上的课的成绩,以及各个课程的得分、绩点,并给出其平均绩点,但不允许查看年级其他人的成绩。(2) 学生定制专属课表,可以查看整个学期本人的课程安排,包括课程名称、上课时间、上课地点、任课老师、学分等等。(13) 系主任可以查看整个系的全部学生以及他们的平均绩点,可以对每个班进行排名,或者也可以对整个系进行排名。(15) 系主任可以查看整个学期所开设的所有课程,包括这些课程的全部详细信息。(1) 学生基本信息的查询,学生可以对本人的系统登陆密码进行修改。

yang0728y的博客 2000

Vue一看就会的过渡动画

Vue 提供了内置的过渡封装组件,该组件用于包裹要实现过渡效果的组件。 组件进入和离开 DOM 的钩子 使用内置的 <transition> 组件 <button @click="flag=!flag">切换</button> <br> <transition name="fade"> <img src="./images/sun.jpeg" alt="" width="120" v-if="flag"> </...

weixin_56511814的博客 817

WIFi 开关控制实现-ESP8266 物联网 android studio arduino QT多线程服务器

简介:本例子分硬件和软件两大部分, 软件又分3小部分:1 ESP8266 Arduino 嵌入部分 2 手机APP android studio 3 QT 上位机服务器程序。 总之就是一整套。有些代码会有简单备注说明,非科班出身,写这些代码纯属娱乐,写得很不好,多多包涵。 目的: 手机、被控继电器模块连接家里路由器,通过手机App控制继电器的开与断,可设置三种定时模式,即延时开、工作时间、关闭延时。可以控制单一继电器通断或者同时通断。例如,根据配置,可以控制热水器(双刀控制,主要怕漏电)...

qinyaquan1987的博客 4001

保姆级教程:用Altium Designer 24从零画一块PCB(附完整库文件与避坑清单)

本文提供了一份详细的Altium Designer 24(AD24)PCB设计教程,从工程创建到最终文件输出,涵盖元件库管理、原理图设计、PCB布局布线等全流程。特别适合初学者,包含STM32最小系统板的实战案例,附完整库文件和避坑清单,帮助用户快速掌握AD24的核心功能与技巧。

weixin_27697385的博客 249

Vue动画篇(一)——使用过渡类名实现动画

Vue使用过渡类名实现动画什么是过渡类名和组件transition过渡类动画实例自定义过渡类动画名称 什么是过渡类名和组件transition 首先我们需要了解动画的本质,动画就是一个元素或者组件从一种状态进入/离开到另一种状态的整个过程(包括动画的开始状态和结束状态)。比如,v-show和v-if所实现的功能就是一种动画——元素从显示到隐藏的相互转换。 在Vue中在动画进入/离开的过渡中,规定会有 6 个 class 切换。 1、v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入

qq_39055970的博客 1040

仿真每日一练 | Workbench如何在网格节点施加载荷

打开Workbench 2020 R2,在分析系统中双击静力分析工程项目,双击Geometry打开Design Modeler,在菜单栏的单位(Units)修改为毫米(Millimeter),在XY平面创建草图,在草图内绘制矩形并标注尺寸,拉伸长方体,如图1所示。:单个零部件,无连接关系,但需定义一个节点组件,如图5所示,选择Create Named Selection。对添加的节点组件施加Y方向50N的力,如图8所示。1-1-3.有限元系统模型构建。1-1-1.几何模型构建。1-1-2.材料定义。

ansysxuexizhe的博客 1236

js过渡效果_Vue之过渡动画(一)

进入/离开 & 列表过渡1. OverviewVue provides a variety of ways to apply transition effects when items are inserted, updated, or removed from the DOM.On this page, we’ll only cover entering, leaving, and li...

weixin_39803977的博客 458

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2688

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Vue 学习11——Vue过渡与动画(一)

目录 ✎ VUE过渡与动画 ◆ 前言 ✎ vue过渡效果-单元素过渡 ◆ 01 VUE过渡动画简介(Vue transition animation ) ① demo ② 效果 ◆ 02 单元素过渡与动画(Single Component ) ① 前言 ② demo @click="show=!show" ③ 效果 ✎ VUE多元素过渡...

Sicily_winner的博客 429

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Vue3中实现路由跳转的过渡动画(一)

由于官方文档写的太过抽象,真的特别不好理解,所以我来总结一下如何去更简单地理解路由跳转时的动画。首先看一下官方对于这个概念的解释。在刚开始学习的时候,看到黄色框框里内容直接傻眼,从未见过这个指令。不知道这个地方到底是固定写法还是让我们写自己的组件?1.在这里准备两个文件来演示这个指令的作用。2.结构也很简单就是一个按钮组件里并没有自己的组件,而是使用了这个标签来显示出这个组件。3.也是可以正常传递的4.这样这个组件自身就相当于这个组件,你可能会好奇,这有什么用呢?5.如果我们像下面这样写,我再引入一个组件,

fang_my的博客 7984

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Vue动画篇(一)——使用过渡类名实现动画,前端开发环境

自定义两组样式,来控制 transition 内部的实现动画flag”>显示/隐藏。

2401_84097820的博客 843

Vue过渡与动画(一)

1.通过样式设置元素进入和离开过渡的效果 transition组件(给一个元素添加过渡效果) 通过样式设置元素进入和离开过渡的效果 .v-enter .v-enter-active .v-enter-to .v-leave .v-leave-active .v-leave-to <template> <div> <transition> <div v-if="flag" class="box">

Heyuner的博客 202

十、过渡动画 一、基础, 1.1 过渡: transition;1.2 变形 transform;1.3动画 animation;二、vue动画 贝塞尔曲线

过渡动画一级目录二级目录三级目录 一级目录 二级目录 三级目录

shencailing的博客 1241

VUE动画效果(一):基础篇,<Transition> 组件的 6 个过渡类名和基本用法

本文是 《Vue 动画效果》系列的第一篇,聚焦于最核心的组件,带你搞懂它的 6 个过渡类名、name 属性、duration 属性以及与 v-if/v-show 的配合。掌握这些,你就能写出流畅的进入/离开动画了。核心概念一句话总结6个过渡类名进入/离开各 3 个阶段,配合 name 前缀控制样式name 属性类名的前缀,默认是 v-,建议总是自定义duration 属性控制动画时长,可统一或分别设置v-if 与 v-showv-if 有完整动画,v-show 只有进入。

Thalia___的博客 253

vue在实现过渡动画遇到的问题

vue在实现过渡动画遇到的问题 本文只分享在用vue的过渡类名做过渡效果时遇到的一些问题.不再过多介绍具体实现方法. 了解vue的过渡动画详情请看vue官网过渡&amp;动画. 了解贝塞尔函数请点击这里. 效果预览请点击这里.或扫描下方二维码 开始写的代码结构如下,发现并不能触发动画,而是直接显示最终效果,既没有过渡时间,也没有过渡路线. new Vue({ el: '#examp...

G-shitou的博客 4984

不知道为什么添加el.offsetWidth之后 vue过渡动画成功

活在今天的格子里 使用vue中的过渡动画的时候:注意在使用javascript钩子的时候动画效果是无法出来的,得要额外的添加一句el.offsetWidth ??? 解释是这样的(非官方): 原因在于浏览器不会根据你js对style的修改实时更新,而一般是在当前js修改完毕之后,会对所有修改统一更新,而display:none(它本身是不能transition的)的状态切换影响了其他过渡效果的切...

qq_44698161的博客 1741
上一篇: Vue之处理边界情况
下一篇: ECMAScript2015文档概述
小菜101
博客等级 码龄10年 16粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值