【Vue.js 入门与实战】--动画-小球动画flag标识符的作用分析

简介: 一、实现小球动画复习二、成功范例三、失败案例分析

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

目录:

一、实现小球动画复习

二、成功范例

三、失败案例分析

 

一、实现小球动画复习

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

<style>

.ball {

 Width:15px

 Height:15px

 Background-color:red

 Border-radius:50

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

 

image.png

 

接下来我们再给他做一个按钮
<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:false

    },

   Methods:{}

  }};

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

image.png

 

二、成功范例

上面实现了最基本的功能,接下来通过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){

 el.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。这就代表每次只执行前半场动画。

 



相关文章
|
1月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
288 2
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理与实战
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理与实战
|
16天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
16天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
25 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
24天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
61 10
|
20天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
29 1
|
21天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
19 1
|
22天前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
26天前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
29 1
|
19天前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
39 0