小程序怎么实现购物车抛物线动画
发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,这篇文章主要介绍"小程序怎么实现购物车抛物线动画"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"小程序怎么实现购物车抛物线动画"文章能帮助大家解决问题。分析要实
千家信息网最后更新 2024年11月21日小程序怎么实现购物车抛物线动画
这篇文章主要介绍"小程序怎么实现购物车抛物线动画"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"小程序怎么实现购物车抛物线动画"文章能帮助大家解决问题。
分析
要实现抛物线动画,我当时想到的是用插件的方式,网上有很多,但是要兼容小程序还是有点困难,况且小程序的主包有2M限制;
那么如何在小程序中实现这种效果呢?
wx.createAnimation css3 transition
实现方式有了,我们再来看一下什么是抛物线,数学上定义抛物线的种类有很多,但就上图的效果而言,需要 水平方向匀速运动 & 垂直方向加速运动 ; wx.createAnimation 提供 timingFunction , 即水平方向 linear , 垂直方向 ease-in
小程序实现
本次实现基于 wepy框架 (非小程序原生),所以 $apply ---> setData 就好了~
html
JS
// 设置延迟时间 methods = { handleClick: (e) => { // x, y表示手指点击横纵坐标, 即小球的起始坐标 let ballX = e.detail.x, ballY = e.detail.y; this.isLoading = true; this.$apply(); this.createAnimation(ballX, ballY); } } setDelayTime(sec) { return new Promise((resolve, reject) => { setTimeout(() => {resolve()}, sec) }); } // 创建动画 createAnimation(ballX, ballY) { let that = this, bottomX = that.$parent.globalData.windowWidth, bottomY = that.$parent.globalData.windowHeight-50, animationX = that.flyX(bottomX, ballX), // 创建小球水平动画 animationY = that.flyY(bottomY, ballY); // 创建小球垂直动画 that.ballX = ballX; that.ballY = ballY; that.showBall = true; that.$apply(); that.setDelayTime(100).then(() => { // 100ms延时, 确保小球已经显示 that.animationX = animationX.export(); that.animationY = animationY.export(); that.$apply(); // 400ms延时, 即小球的抛物线时长 return that.setDelayTime(400); }).then(() => { that.animationX = this.flyX(0, 0, 0).export(); that.animationY = this.flyY(0, 0, 0).export(); that.showBall = false; that.isLoading = false; that.$apply(); }) } // 水平动画 flyX(bottomX, ballX, duration) { let animation = wx.createAnimation({ duration: duration || 400, timingFunction: 'linear', }) animation.translateX(bottomX-ballX).step(); return animation; } // 垂直动画 flyY(bottomY, ballY, duration) { let animation = wx.createAnimation({ duration: duration || 400, timingFunction: 'ease-in', }) animation.translateY(bottomY-ballY).step(); return animation; }
关于"小程序怎么实现购物车抛物线动画"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
动画
程序
抛物线
小球
方向
水平
购物车
购物
知识
效果
方式
行业
运动
不同
实用
困难
加速运动
匀速运动
上图
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
车载网络技术课程总体目标
j1939上位机软件开发
was服务器配置
winform嘉云数据库
湖南手机app软件开发
碧维视影音服务器
通过网络技术找回聊天记录
软件开发系统移交
组织部网络安全工作汇报材料
服务器系统时间会自动变化
杭州师范大学网络安全专业怎么样
网络安全五年计划
如何安装数据库sql2012
电脑怎么开ark服务器
哈尔滨外盘软件开发
弹性云服务器特点
佳云互联网科技有限公司怎么样
网络技术是什么考试
重庆安卓软件开发哪里有
南昌英语软件开发哪家好
互联网科技工作委员会副主任毛军
立体化促进网络安全工作
海思做服务器
epd数据库的引用情况
咸宁iptv服务器价格
电脑保安及网络技术
计算机网络安全维护论文
数据库供应商规范
航天三江软件开发
河南谷雨网络技术有限公司公章