IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 2021.10.22解决今天使用create-keyframe-animation动画不起效且卡死 -> 正文阅读

[JavaScript知识库]2021.10.22解决今天使用create-keyframe-animation动画不起效且卡死

这次出了很多bug,例如定义的动画对象animation和create-keyframe-animation实例重名了导致报’xxx is not a function’,还有写错注册动画属性关键字presets等等。但这都不是重点,重点是写错了vue动画钩子函数导致卡死,错误代码不贴了只贴正确代码。
首先是定义动画

<transition name="norma"
			@enter="enter"
			@after-enter="afterEnter"
			
			>
			//dom结构
</transition >

回调函数

enter(el,done){
				const {x,y,scale}  = this._getPosAndScale()
				console.log(x,y,scale)
				let animations = {//这里写错了一个地方,定义的动画animation和create-keyframe-animation实例重名了导致报'xxx is not a function'
					0:{
						transform:`translate3d(${x}px,${y}px,0) scale(${scale})`
					},
					60:{
						transform:'translate3d(0,0,0) scale(1.1)'
					},
					100:{
						transform:'translate3d(0,0,0) scale(1)'
					}
				}
				animation.registerAnimation({
					name:'move',
					animation:animations,
					presets:{
						duration:400,
						easing:'linear'
					}
				})
				animation.runAnimation(this.$refs.cdwrapper,'move',done)
			},
			afterEnter(){
				animation.unregisterAnimation('move')
				this.$refs.cdwrapper.style.animation = ''
			},

_getPosAndScale函数

_getPosAndScale(){
				const targetWidth = 40 //小圆宽度
				const paddingLeft = 40
				const paddingBottom = 30
				const paddingTop = 80
				const width = window.innerWidth * 0.8 //大圆直径
				const scale = targetWidth/width
				const x =-(window.innerWidth/2 - paddingLeft - targetWidth/2)
				const y = window.innerHeight - paddingTop - width/2  - paddingBottom - targetWidth/2
				return {
					x,y,scale
				}
			},
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:23:04  更:2021-10-23 12:24:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:05:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码