vue的transition-group 下面每个元素分别执行动画

vue中可以使用<transition-group> 组件同时渲染整个列表,对一组列表进行动画渲染,而当使用动态数据进行动画渲染时,我们可以使用钩子函数,那么如果我们要对每个元素分别执行动画,该怎么做呢?

此时我们可以在列表标签中使用 v-bind:data-XXX="动态值",那么在钩子函数中就可以通过el.dataset.XXX拿到该值,从而分别执行动画!

例如:

    <transition-group v-on:before-enter="beforeEnter" v-on:enter="enter">
         <span v-for="(item,index) in arr"  v-bind:key="item"  v-bind:data-index="item"> </span>
    </transition-group>
<script>
  export default {
     methods:{
          beforeEnter: function (el) {
          },
         enter: function (el, done) {
            var index = el.dataset.index
            setTimeout(function () {
               Velocity(
                  el,
                  { ‘background-position-y‘:-100*index+‘%‘ },
                  { duration: 5000 + index * -100,
                    easing: "easeInOutCirc",
                    complete: done }
              )
            }, index * -10)
        },
      }
   }
</script>

原文地址:https://www.cnblogs.com/sunala/p/8885681.html

时间: 2024-10-05 01:15:38

vue的transition-group 下面每个元素分别执行动画的相关文章

Vue学习笔记进阶篇——多元素及多组件过渡

本文为转载,原文:Vue学习笔记进阶篇--多元素及多组件过渡 多元素的过渡 对于原生标签可以使用 v-if/v-else.但是有一点需要注意: 当有相同标签名的元素切换时,需要通过 key 特性设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了效率只会替换相同标签内部的内容.即使在技术上没有必要,给在 <transition> 组件中的多个元素设置 key 是一个更好的实践. 示例: <transition> <button v-if="isEditing

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.

[ jquery选择器 :animated ] 此选择器匹配所有正在执行动画效果的元素

此选择器匹配所有正在执行动画效果的元素 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2,keyw

Android中Activity切换时共享视图元素的切换动画(4.x兼容方案)

同时发布在我的博客 点此进入 开始 上一篇讲了使用 Google 的 AppCompat-v7 来实现 Activity 切换时实现共享视图元素的切换动画.这一篇介绍两个可以兼容 4.x 的两个第三方方案. 上一篇:Android中Activity切换时共享视图元素的切换动画(5.0以上) 方案一:PreLollipopTransition 首先在 build.gradle 配置文件添加这个库依赖 dependencies { compile 'com.kogitune:pre-lollipop

jQuery如何停止元素的animate动画,还有怎样判断是否处于动画状态?【转】

停止元素的动画方法:stop() 语法结构:stop([clearQueue],[gotoEnd]) clearQueue 和 gotoEnd 都为可选参数,为布尔值. clearQueue : 是否要清空未执行玩的动画列表 gotoEnd : 是否直接将正在执行的动画跳转到末状态 经常在hover时间的动画效果里用到 stop() 方法,可以避免动画效果与光标动作不一致时导致的延迟动画. 例如: $(".test").hover(function(){     $(this).sto

在 vue 中用 transition 实现轮播效果

概述 今天我接到一个需求:轮播效果.本来我是打算使用 Swiper 实现的,但是想起来貌似 transition 也能实现.于是就试了下,真的可以,还挺简单的,于是就记录下来,供以后开发时参考,相信对其他人也有用. 参考资料:进入/离开 & 列表过渡 transition 我从官网扒了一个示例的源码,如下所示: <div id="no-mode-demo" class="demo"> <transition name="no-mo

vue 点击获取当前DOM元素

哈哈哈,昨天登QQ的时候,意外发现有人看了我写的博客,居然还加了我,这就激起了我内心的小波澜啊 公司最近在做电商,用的前端框架依然是VUE 矩MAX(微信公众号)可以搜的到哦,貌似小苹果的AppStore也可以搜的到,不过应该是内测版 回归中体哈,说一下今天做的领券中心 有点类似于京东的领券中心,刚测试完,券全被我领啦 效果就是点击立即领取,文字变为立即使用.弹出领取成功 但是因为接口不是实时的,所以我没有通过接口数据判断让用户点击领取的同时,让优惠券改变状态 但是,毛爷爷说过:办法总比困难多~

Vue系列之 =&gt; ref获取DOM元素和组件

可以获取DOM元素,和组件中的数据,方法 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-eq

给单元素艺术添加动画

原文:Animating Single Div Art 翻译:nzbin 导读:学习工具的最好的方法就是尝试新技术,本文通过“单元素艺术”介绍了 CSS 变量的使用以及给单元素添加动画的几种方法.通过学习作者编写的复杂的“单元素”示例,相信你对 CSS 变量以及 CSS 动画会有一个深刻的认识. 如果你深入挖掘你的工具,你可以使用最基本的 HTML 做一些令人称奇的东西.我对 Lynn Fisher 以及其他人的“单元素艺术”(“Single Div Art”)印象深刻,所谓“单元素艺术”就是你