动画-小球动画 flag 标识符的作用分析|学习笔记

简介: 快速学习动画-小球动画 flag 标识符的作用分析

开发者学堂课程【Vue.js 入门与实战动画-小球动画 flag 标识符的作用分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8183


动画-小球动画 flag 标识符的作用分析


目录:

一、实现小球动画复习

二、成功范例

三、失败案例分析

 

一、实现小球动画复习

首先设置一个小球,并为其设置设计

<style>

.ball {

Width:15px

Height:15px

Background-color:red

Border-radius:50

浏览下,可以看到小球已经被创建:

1666937708911.jpg

接下来我们再给他做一个按钮

<input  type =”button” value =”加入购物车” @click=”flag=!flag”>

<div class =”ball” v-show=”flag”></div>

</div>

<acript>

//创建VUE实例,得到Viewmodel

Var vm = new Vue {{

el: ‘#app’

Data:{

Flag:fals

},

Methods:{}

}};

刷新点击后,即可看到执行效果:

1666937734119.jpg

 

二、成功范例

上面实现了最基本的功能,接下来通过 VUE 的动画机制,钩子函数实现小球加入购物车的效果,如果想要实现动画的话,第一步需要把小球放到元素当中去

<html lang-"en">

<head>

<cmeta charset="UTF-8">

<cmeta name="viewport"content="width=device-width,initial-scale=1.0">

<cmeta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</titlo>

script src="./lib/vue-2.4.0.js"x/script>

<style>

.ball {

width:15px;

height: 15px;

background-color:red;

borde-radius:50%;

}

</style>

</head>

<body>

<div id="app">

<input type="button" value="加入购物车" @click="flag=!flag">

<div class="ball" v-shiw="fiag"></div>

</div>

<script>

//创建Vue实例,得到ViewModel

var Vm = new Vue({

el: '#app',

data: {

flag: false

},

methods:{}

});

</scrtipt>

</body>

<div id="app">

<input type="button" value="加入购物车"@click="flag=!flag">

<transition>

这时小球只有从开始位置到结束位置的过渡关系,并没有回去的过程,这个时候就需要使用钩子函数,创造半场动画,这个时候就应该使用如下代码:

@before-enter="beforeEnter"

@enter="enter"

@after-enter="afterEnte">

<div class="ball" v-show="flag">/div>

</transition>

</div>

<script>

//创建Vue实例,得到 ViewModel

Var vm = new Vue({

el: '#app',

data: {

flag: false

},

methods:{

beforeEnter(el){

el.style.transtorm = 'translate(0,0)'

},

此时通过上面的代码,我们定义了小球,启示时的开场位置,以及小球最终去的离场位置。下面的代码,我们设置小球的路径数据,以及过渡属性的数据。

enter(el,done){

l.offsetWidth

el.style.transform = 'translate(150px,450px)'

el.style.transition = 'all’1s ease'

done()

},

afterEnter(el){

// this.fiag = !This.flag

// el.style.opacity = 0.5

以上函数,可以使小球走到最终位置时,为隐藏状态。此时刷新点击,可看到小球成功执行。

 

三、失败范例分析

如果使用如下代码:

el.style.opacity = 0

此时点击也可以隐藏,也可以实现效果。但是第二次点击的时候就没有动画了,失败原因在于:

当前 opacity 设置为0与设置为0.5没有太大区别。都为二次点击时经过1s所有的时长就直接消失。

Vue 把一个完整的动画,使用钩子函数,拆分为了两部分,我们使用 flag 标识符,来表示动画的切换。

刚开始,flag = false → true → false,这是,false → true 为上半场函数,true → false 为后半场函数。此时为了不让其自动执行后半场函数,需要对执行结果取非。

This.flag = ! this.flag

上面这句话,有两个功能:

第一个功能是,

控制小球的显示与隐藏

第二个功能是,

直接跳过后半场动画,让 flag 动画直接变为 false

当第二次点击按钮的时候,flag = false → true。这就代表每次只执行前半场动画。

相关文章
|
5月前
|
监控 安全 Ubuntu
从零开始学安全:服务器被入侵后的自救指南
在信息爆炸时代,服务器安全至关重要。本文针对黑客入侵问题,从应急处理、系统恢复到安全加固全面解析。发现入侵时应冷静隔离服务器,保存日志证据,深入排查痕迹;随后通过重装系统、恢复数据、更改密码完成清理;最后加强防火墙、更新软件、部署检测系统等措施防止二次入侵。服务器安全是一场持久战,需时刻警惕、不断优化防护策略。
680 1
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
双 11 电商效率突围:10 款 AI 工具的技术落地与实践指南
2025年双11促销长达38天,电商迎来AI重构关键期。本文剖析10款主流AI工具技术原理,涵盖设计、文案、投放、客服等场景,揭示计算机视觉、自然语言处理等技术如何驱动电商智能化升级,助力企业高效应对大促挑战。
222 1
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
11月前
|
存储 弹性计算 运维
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
|
安全 Linux 数据库
|
数据挖掘
【杂学笔记甲】问题分析和解决的流程及工具介绍
【10月更文挑战第2天】该文档详细介绍了问题解决的过程,包括定义问题、测量问题、分析问题、改善问题和控制问题五个阶段。在定义问题阶段,通过组建跨职能团队和运用4W1H方法明确问题;测量问题阶段则通过逻辑图和流程图等工具进行数据分析;分析问题阶段筛选关键原因并确认;改善问题阶段提出并筛选方案,进行试运行;最后控制问题阶段实施前后对比并总结经验,为后续挑战做准备。
404 11
【杂学笔记甲】问题分析和解决的流程及工具介绍
|
12月前
|
SQL 数据库 索引
SQL CREATE INDEX
【11月更文挑战第16天】
469 3
|
人工智能
写歌词的技巧和方法:打造完美歌词结构,妙笔生词AI智能写歌词软件
写歌词的技巧包括:开头吸引人,主体逻辑清晰,结尾画龙点睛。使用《妙笔生词智能写歌词软件》的AI功能,如智能写词、押韵优化等,可助你克服创作瓶颈,打造完美歌词结构,适用于民谣、摇滚、流行等多种风格。
|
网络协议 算法 Linux
深度解密 TCP 三次握手与四次挥手
深度解密 TCP 三次握手与四次挥手
361 9
|
人工智能 算法 JavaScript
无界SaaS与AI算力算法,链接裂变万企万商万物互联
本文介绍了一种基于无界SaaS与AI算力算法的商业模式的技术实现方案,涵盖前端、后端、数据库及AI算法等关键部分。通过React.js构建用户界面,Node.js与Express搭建后端服务,MongoDB存储数据,TensorFlow实现AI功能。提供了项目结构、代码示例及部署建议,强调了安全性、可扩展性和性能优化的重要性。