【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 ,函数执行时就会出现延迟等情况。

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

 

相关文章
|
21天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
21天前
|
JavaScript
常见函数的4种类型(js的问题)
常见函数的4种类型(js的问题)
11 0
|
22天前
|
JavaScript
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
9 0
|
1天前
|
JavaScript 前端开发 容器
< 每日小技巧: 基于Vue状态的过渡动画 - Transition 和 TransitionGroup>
Vue 的 `Transition` 和 `TransitionGroup` 是用于状态变化过渡和动画的组件。`Transition` 适用于单一元素或组件的进入和离开动画,而 `TransitionGroup` 用于 v-for 列表元素的增删改动画,支持 CSS 过渡和 JS 钩子。
< 每日小技巧: 基于Vue状态的过渡动画 - Transition 和 TransitionGroup>
|
1天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
9 0
|
3天前
|
JavaScript 前端开发 内存技术
Vue入门:构建你的第一个Vue应用程序
【4月更文挑战第22天】Vue.js 入门教程:安装 Node.js 和 npm,使用 Vue CLI (`npm install -g @vue/cli`) 创建项目,选择预设或自定义配置。在 `src/components/` 创建 `HelloWorld.vue` 组件,显示数据属性。在 `App.vue` 中引入并注册组件,启动开发服务器 (`npm run serve`) 预览。开始你的 Vue 之旅!
|
3天前
|
JavaScript 前端开发 UED
动画效果:给 Vue 应用添加过渡和动画
【4月更文挑战第22天】Vue 框架提供强大的过渡和动画功能,增强用户体验,创建流畅的用户界面。通过CSS动画、设置过渡属性和自定义过渡,开发者能实现多样化效果。同时,结合组件状态、关注性能并测试优化,确保在不同设备上运行良好,打造引人入胜的应用交互。
|
8天前
|
缓存 JavaScript 前端开发
js的入口函数,入口函数的作用
js的入口函数,入口函数的作用
14 4
|
9天前
|
缓存 JavaScript 前端开发
vue项目实战:实战技巧总结(中)
vue项目实战:实战技巧总结
56 1
|
1天前
|
缓存 JavaScript
【vue】如何搭建拦截器和设置路由守卫(基于token认证)
【vue】如何搭建拦截器和设置路由守卫(基于token认证)
12 0