【Vue.js 入门与实战】--动画-钩子函数实现小球半场动画

简介: 一、首先需要画出小球二、添加按钮(模拟加入购物车)三、添加动画

动画-钩子函数实现小球半场动画

目录

一、首先需要画出小球

二、添加按钮(模拟加入购物车)

三、添加动画

 

之前已经学过了如何使用钩子函数怎么定义动画,本节主要讲解怎么通过钩子函数模拟小球的半场动画。

代码如下:

 

一、首先需要画出小球

Cleane.  .ball

Width:15px

Height:15px

Border-radius:50%

Background-color:red;

}

 

/style

/head

 

body

div id=app”>

div class=ball”></div

/div

image.png

执行可以看到小球已经画出。

 

二、添加按钮(模拟加入购物车)

body

div id=app”>

input type=buttonvalue=“快到碗里来”@click=“!flag

image.png

 

 

三、添加动画:

body

div id=app”>

input type=buttonvalue=“快到碗里来”@click=“!flag

<!--1.使用 transition元素把小球包裹起来--

/transition

@before-enter=“”

@enter=“”

@after-enter=“”>

div class=ball”></div

/div

 

acript

Vue.directive(’focus’,function(el){}

Var vm=new vue{{

el :“app,

Data:(

Flag:false

},

Methods:{

//注意:动画钩子函数的第一个参数;el。表示要执行动画的那个DOM元素,是个原生的JS.DOM对象

//大家可以认为,el是通过document.getelement.BYid(’’)方式获取的原生JS.DOM对象

//beforeenter表示动画入场之前,此时,动画尚未开始,可以在beforeenter中,设置元素开始动画之前的起始样式。

小球在动之前需要有一个启示位置,启示需要通过以下代码实现,代表小球在开始前在0.0位置:

el.style.transform=“transition0,0)”

},

beforeEnter(el){],

enter(el){}.

//enter表示动画开始之后的样式,这里,可以设置小球完成动画之后的,结束状态。

el.style.transform=“transition0,0)”

el.style.transform=“transition150px,450px)”

el.style.transform=“transition all is ease

此时执行会发现,小球确实动起来,但是没有中间过渡过程。所以在这个之前需要设置El.offsetwidth,代码如下:

El.offsetwidth

//这句话,没有实际作用,但是如果不写,出不来动画效果

el.style.transform=“transition0,0)”

el.style.transform=“transition150px,450px)”

el.style.transform=“transition all is ease

所以,所以通过执行,可以认为 El.offsetwidth 会强制动画刷新,这里 El.offsetwidth 不是必须的,还可以写成 El.offsetheight ,也可以写成 El.offsetleft El.offsettop等。只要和 El.offset 相关即可。

Afterenter(el){

//动画完成后,会调用afterenter

//console.log(‘OK’)

This.flag=!this.flag

}};

/script

执行会发现,消失需要一定的时间,如果不想存在这个时间,可以使用以下代码:

enter(el.done)

Done()

//这里的done。起始就是afterenter这个函数,也就是说:done是一个函数的引用。

当只用 JavaScript 过渡的时候,在 enter leave 中,回调函数 done 是必须的,他们会被同步调用,过渡会立即完成。如果不调用 done ,函数执行时就会出现延迟等情况。

以上,已经完成了小球半场动画的全部学习。

 

相关文章
|
1月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
289 2
|
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
|
18天前
|
JavaScript
js动画循环播放特效源码(上班族的一天)
js动画循环播放特效是一段实现了包含形象的卡通小人吃、睡、电脑工作的网页动画,js循环动画,简单的画面设计。非常丝滑有意思,欢迎对此代码感兴趣的朋友前来下载参考。
27 2
|
22天前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
23天前
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
26天前
|
JavaScript API
vue3知识点:ref函数
vue3知识点:ref函数
32 2
|
27天前
|
JavaScript API
vue3知识点:自定义hook函数
vue3知识点:自定义hook函数
26 2
|
26天前
|
API
vue3知识点:reactive函数
vue3知识点:reactive函数
27 1