欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue中渐进过渡效果实现

程序员文章站 2023-11-17 18:28:10
本文实例为大家分享了vue 渐进过渡效果,供大家参考,具体内容如下,供大家参考,具体内容如下 transition 与 v-for 一起用时可以创建渐近过渡。给过渡元素添...

本文实例为大家分享了vue 渐进过渡效果,供大家参考,具体内容如下,供大家参考,具体内容如下

transition 与 v-for 一起用时可以创建渐近过渡。给过渡元素添加一个特性 stagger,enter-stagger 或 leave-stagger:

<div v-for="item in list" transition="stagger" stagger="100"></div>

或者,提供一个钩子 stagger, enter-stagger 或 leave-stagger,以更好的控制:

vue.transition('stagger', {
 stagger: function (index) {
 // 每个过渡项目增加 50ms 延时
 // 但是最大延时限制为 300ms
 return math.min(300, index * 50)
 }
})

示例:html代码:

<div id="demo">
 <input v-model="query">
 <ul>
  <li v-for="item in list | filterby query"
   transition="staggered"
   stagger="100">
   {{item.msg}}
   </li>
 </ul>
</div>

js代码:

new vue({
 el: '#demo',
 data: {
  query: '',
  list: [
   { msg: 'bruce lee' },
   { msg: '*' },
   { msg: 'chuck norris' },
   { msg: 'jet li' },
   { msg: 'kung fury' }
  ]
 }
})

css代码:

ul {
 padding-left: 0;
 font-family: helvetica, arial, sans-serif;
}
.staggered-transition {
 transition: all .5s ease;
 overflow: hidden;
 margin: 0;
 height: 20px;
}
.staggered-enter, .staggered-leave {
 opacity: 0;
 height: 0;
}

效果如下图:

vue中渐进过渡效果实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。