【Vue.js 入门与实战】--动画-使用transition-group元素实现列表动画

简介: 一、 实现添加时候的动画效果二、 实行列表的融合

动画-使用transition-group元素实现列表动画

目录:

一、   实现添加时候的动画效果

二、   实行列表的融合

 

一、 实现添加时候的动画效果

之前已经学习了单个元素的动画,无论是小球,还是第三方动画库,还是自己定义的V-enter这些类名,都是控制单个元素。但如果是列表的话,需要通过以下方案来实现动画:

新建一个Vue列表,如何实现动画效果

新建一个窗口

<script>

//创建vue实例,得到ViewMode1

var vm = new Vue({

el:‘#app,

data: {

list: [

{id:1,name:‘赵高’}

{ id: 2,name:'秦桧’}

{ id: 3, name: '严嵩:}

{ id: 4, name:’魏忠贤’}

]

}

Methode:{ }

});

</ script>

 

<li v-for-"iten in list" :key-"item.id">

{{item.id}} --- {{item.name}}_

</li>

 

设置字体颜色 边距

<style>

li {

border:1px dashed #999;

margin:5px;

line-height:35px;

padding-left:5px;

font-size:12px;

}

 

li:hover{

background-color:pink;

transition: all 0.4s ease;

}

 

.v-enter,

.v-leave-to(

opacity: 0;

transform: translateY(80px);

}

 

.v-enter-active,

.v-leave-active,{

Transition:all 0.6s ease;

}

</style>

此时,执行,我们可以看到执行效果为:

image.png

 

二、实行列表的融合

<div>

<label>

Id:

<input type "text" v-model="id">

</label>

 

<label>

Name:

input type-"text" v-model-"name">

</label>

 

<input type=”button value=”添加” click=add>

</div>

<ul>

<!—在实现列表过程的时候,如果需要过渡的元素,是通过 v-for 循环渲染出来的,不能使用transition包裹,需要使用transitionGroup-->

<transition-group>

<li v-for-"iten in list" :key-"item.id">

{{item.id}} --- {{item.name}}_

</li>

</transition-group>

</ul>

<script>

//创建Vue实例,得到viewMode1

var vm = new Vue ((

e1: "#app' ,

data: {

id:‘ ’,

name‘‘,

list: [

{ id: 1, name:'赵高’}

{ id: 2,name:'秦桧’}

{ id: 3, name: '严嵩:}

{ id: 4, name:’魏忠贤’}

]

},

methods:{

add() {

this.list.push({ id: this.id,name:this.name })

this.id = this.name =’ ’

}

}

注意:如果要为v-for 循环创建的元素设置动画,必须要为每一个元素设置:key属性。

image.png

这就实现了添加时的动画效果。

相关文章
|
3月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
151 56
|
10天前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
36 1
|
2月前
|
人工智能 自然语言处理 JavaScript
通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
通义灵码基于自然语言需求,快速生成完整Vue组件。例如,用Vue 2和JavaScript实现贪吃蛇游戏:包含键盘控制、得分系统、游戏结束判定与Canvas动态渲染。AI生成的代码符合规范,支持响应式数据与事件监听,还能进阶优化(如增加启停按钮、速度随分数提升)。传统需1小时的工作量,使用通义灵码仅10分钟完成,大幅提升开发效率。操作简单:安装插件、输入需求、运行项目即可实现功能。
155 4
 通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
|
6月前
|
存储 安全 API
Next.js 实战 (九):使用 next-auth 完成第三方身份登录验证
这篇文章介绍了next-auth,一个为Next.js设计的身份验证库,支持多种认证方式,如电子邮件和密码、OAuth2.0提供商(如Google、GitHub、Facebook等)以及自定义提供商。文章包含了如何配置Github Provider以及会话管理,并提到了适配器Adapters在next-auth中的作用。最后,文章强调了next-auth的强大功能值得进一步探索。
363 10
|
2月前
|
JavaScript API 容器
Vue 3 中的 nextTick 使用详解与实战案例
Vue 3 中的 nextTick 使用详解与实战案例 在 Vue 3 的日常开发中,我们经常需要在数据变化后等待 DOM 更新完成再执行某些操作。此时,nextTick 就成了一个不可或缺的工具。本文将介绍 nextTick 的基本用法,并通过三个实战案例,展示它在表单验证、弹窗动画、自动聚焦等场景中的实际应用。
192 17
|
4月前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
4月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
6月前
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
156 0
|
1月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
199 0

热门文章

最新文章