vue如何使用原生js写动画效果_vue简单动画-animejs在vue中的使用

1 .animatejs所使用的动画都是在点击触发,不做过渡。

2 .svg的数据变化,vue可以操作么?可以的,所以在控制svg图形变化的时候,也是可以通过简单的变化数据,剩余的渲染交给Vue

points="64 69.17870507418452 8.574 99.96369911899026 62.94802451430841 67.35619614139314 64 3.9636991189902617 65.05197548569159 67.35619614139314 119.426 99.96369911899026 "

fill="currentColor"

>

1.就是给point动态绑定数据,但是这样实现起来是使用animejs实现起来简单

this.a1=anime({

targets:this.obj,

points:'64 128 8.574 96 8.574 32 64 0 119.426 32 119.426 96',

easing:'easeInOutExpo'

})

1 .确实可以这么写,但是这个points的数据还是必须装在一个对象里面,符合之前的语法

动画的控制方法

1 .用事件来操作这个动画的时候,init的时候必须有这俩配置参数

loop:true,

autoplay:false,

2 .play

3 .pause

4 .restare

5 .reverse

6 .seek(n):传入一个数,动画直接跳入这一帧

动画执行的回调函数

1 .begin:动画开始触发的函数,向外面更新一些动画的状态

2 .update:动画每一帧更新触发的函数:动画还有多久开始,当前动画时间,当前动画的进度

3 .complete:动画完毕触发的函数

4 .run:也是动画运行时触发的函数

实现的效果

1 .targets可以传入nodeList,一次给多个dom添加动画

2 .数值类实现渐变的效果都可以传入一个object来实现(颜色,svg变化,数字过渡,以及其他状态类的变化)

3 .可以操作的属性:css的所有属性,transform之类的属性。

4 .一组多个元素的变化,主要变化在于delay由参数变为函数,这样可以返回多个元素个字的delay

5 .elasticity:动画的回弹效果,也是可以返回函数

6 .变化的值有几种输入方式:

目标选择

loop搭配

1 .单独loop:true。动画从头开始开始播放

2 .loop:true,direction:'reverse' :直接从反向开始播放动画,倒着放动画。

3 .loop:true,direction:'alternate':正向播动画,反向播动画,然后继续正向。。想要的效果。

使用timeline代替value的帧动画实现

1 .就是不知道每次都选取的时候会不会有性能问题

2 .value里面加的话是主要靠delay。

3 .

anime事件,触发函数

1 .this.anime.play()

2 .this.anime.pause()

3 .this.anime.restart()反向播放动画

4 .this.anime.seek()传入一个帧数据,跳到某一帧。

5 .update事件里面获取全部的数据即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 使用原生 Canvas 实现签名功能,可以通过以下步骤实现清空和保存功能: 清空:在 Vue 组件使用 `$refs` 获取到 Canvas 元素,然后调用 `clearRect()` 方法清空画布。代码示例如下: ```html <template> <div> <canvas ref="canvas"></canvas> <button @click="clearCanvas">清空</button> </div> </template> <script> export default { methods: { clearCanvas() { const canvas = this.$refs.canvas; const context = canvas.getContext('2d'); context.clearRect(0, 0, canvas.width, canvas.height); } } }; </script> ``` 保存:将 Canvas 元素转换为图片,并下载保存。可以使用 `toDataURL()` 方法将 Canvas 转换为 base64 编码的 data URL,然后创建一个链接并下载。代码示例如下: ```html <template> <div> <canvas ref="canvas"></canvas> <button @click="saveImage">保存</button> </div> </template> <script> export default { methods: { saveImage() { const canvas = this.$refs.canvas; const dataURL = canvas.toDataURL('image/png'); const link = document.createElement('a'); link.download = 'signature.png'; link.href = dataURL; document.body.appendChild(link); link.click(); document.body.removeChild(link); } } }; </script> ``` 在 `saveImage()` 方法,先将 Canvas 转换为 data URL,然后创建一个 `<a>` 标签,并设置 `download` 属性为要保存的图片文件名,`href` 属性为 data URL。最后将该标签添加到页面,并触发点击事件下载图片,下载完成后再移除该标签。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值