我的编程空间,编程开发者的网络收藏夹
学习永远不晚

html5小程序飞入购物车的示例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

html5小程序飞入购物车的示例分析

这篇文章给大家分享的是有关html5小程序飞入购物车的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

思考如果实现 ? 超级简单的!

无论是小程序还是h6飞入购物车无非就是 平抛 ,或者是 上抛 两种情况,对于这两种情况,初中就开始学习抛物线理论知识是完全可以搞定的,高中一年级物理学的自由落体运动,平抛运动就是抛物线理论的具体实现。

平抛运动

html5小程序飞入购物车的示例分析

上抛运动

html5小程序飞入购物车的示例分析

构建虚拟直角坐标系,抛物线绘制轨迹点

此方案的本质就是,根据购物车起点和终点,分别做为抛物线的两点,这样一个感念就是要以起始点作为直角坐标系(0,0)方便后续其他坐标点的运算。还有一个应该注意的是,如果是配置了上抛h偏移量 ,就要求最高点(顶点)坐标 此方案均适合 H5 ,小程序

function flycart(startPoint, endPoint, point, h = 0, hclientX) {         function Validityparameter() {       let isOkey = true       Array.isArray(startPoint) && startPoint.length !== 2 && (isOkey = false)       Array.isArray(endPoint) && endPoint.length !== 2 && (isOkey = false)           (point.constructor !== Number) && (isOkey = false)       return isOkey   }      if (!Validityparameter()) {       return []   }      const xA = 0      const yA = 0      const offsetX = startPoint[0]      const offsetY = startPoint[1]      const xB = endPoint[0] - offsetX      const yB = endPoint[1] - offsetY      let b = 0   let a = 0      function handerComputer() {       if (h < 10) {           a = yB / Math.pow(xB, 2)       } else {                      h = -h                                 const effectMaHx = hclientX && Math.abs(hclientX - offsetX) > 0 && Math.abs(hclientX - offsetX) < Math.abs(xB)                      let maxHx = effectMaHx ? (hclientX - offsetX) : (xB + xA) / 2                      a = ((yB / xB) - (h / maxHx)) / (xB - maxHx)                      b = (yB - a * Math.pow(xB, 2)) / xB       }   }      const travelList = []      const averageX = (xB - xA) / point      function handerLinearMotion(type) {       if (type === 'X') {           const averageY = (yB - yA) / point           for (let i = 1; i <= point; i++) {               travelList.push([offsetX, i * averageY + offsetY])           }       } else {           for (let i = 1; i <= point; i++) {               travelList.push([offsetX + i * averageX, offsetY])           }       }       return travelList   }      if (Math.abs(xB) < 10) {       return handerLinearMotion('X')   }      if (Math.abs(yB) < 10) {       return handerLinearMotion('Y')   }   handerComputer()      for (let i = 1; i <= point; i++) {       const currentX = averageX * i       const currentY = Math.pow(currentX, 2) * a + b * currentX - yA       travelList.push([currentX + offsetX, currentY + offsetY])   }   return travelList}export default flycart

效果

html5小程序飞入购物车的示例分析

小程序h6飞入购物车组件?

这里可以把这个方案和组件联系到一起,于是乎飞入购物车组件就搞定了,这里大家要记住的点

1此方案得到的是抛物线各点的left,top值,我们只需要定时改变飞入购物车的图片的left值 ,top就可以 2可以通过计数器功能来改变缩放比,说白了就是改变图片transform:scale值 3不要忘记给图片加上fixed固定定位哦:smile::smile::smile: 主要demo方法(仅供参考)

 startCart(){            this.start = {}    this.start['x'] = this.data.current['x']    this.start['y'] = this.data.current['y']    const travelList = flycart([ this.start['x'] , this.start['y'] ] ,[ this.end['x'] , this.end['y'] ],25,50 )    this.startAnimate(travelList)        }, startAnimate(travelList) {    let index = 0    this.setData({        cartHidden: false,        bus_x: this.start['x'],        bus_y: this.start['y']    })    if(travelList.length===0) return    this.timer = setInterval( ()=> {        index++        const currentPoint = travelList.shift()        this.setData({            bus_x: currentPoint[0],            bus_y: currentPoint[1],            scale: 1 - index / 25        })        if (travelList.length === 0) {            clearInterval(this.timer)            this.triggerEvent('close')        }    }, 33)}

这里只做了 原生小程序飞入购物车组件 ,h6大致差别不大。

感谢各位的阅读!关于“html5小程序飞入购物车的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

html5小程序飞入购物车的示例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

html5小程序飞入购物车的示例分析

这篇文章给大家分享的是有关html5小程序飞入购物车的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思考如果实现 ? 超级简单的!无论是小程序还是h6飞入购物车无非就是 平抛 ,或者是 上抛 两种情况,对
2023-06-09

微信小程序的示例分析

这篇文章主要介绍微信小程序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!未来的发展趋势未来的发展趋势是一切触手可及。比如去餐馆吃饭,扫一扫二维码就可以看菜单、点菜、付款;到公交站台,扫一扫二维码就知道有哪些
2023-06-26

店长小程序开发的示例分析

这篇文章将为大家详细讲解有关店长小程序开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。店长小程序开发:随着时间的流逝,城市化的脚步逐渐加快,行业的内容也不断向外扩展,对于门店老板来说内容的不断
2023-06-27

微信小程序WXS模块的示例分析

这篇文章给大家分享的是有关微信小程序WXS模块的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。WXS 模块WXS 代码可以编写在 wxml 文件中的 标签内,或以 .wxs 为后缀名的文件内。
2023-06-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录