微信小程序做出外卖菜单点单功能

互联网 18-6-7
这次给大家带来微信小程序做出外卖菜单点单功能,的注意事项有哪些,下面就是实战案例,一起来看一下。

1.功能仅是菜单功能一部分,仅供参考

2.需求描述:右侧菜品部分在滚动的时候,左侧菜品选中分类与右侧第一行菜品所在分类对应。

onLoad(e) {  let goodsList = this.data.goodsList;  // 初始化每项菜品距离顶部的距离  for (let i = 0; i < goodsList.length; i++) {  if (i != 0)  goodsList[i].scrollTop = parseInt(goodsList[i - 1].scrollTop) + parseInt((goodsList[i - 1].goods.length * 90) + 35)  }  this.data.goodsList = goodsList; }, // 右侧滚动事件 onGoodsScroll: function (e) {  let that = this;  // 当前滚动部分距离页面顶部距离  let scrollTop = parseInt(e.detail.scrollTop);  let goodsList = that.data.goodsList;  for (let i = 0; i < goodsList.length; i++) {  let currentScrollTop = goodsList[i].scrollTop;  let nextScrollTop = 0;  if ((i + 1) == goodsList.length)  nextScrollTop = goodsList[i].scrollTop;  else  nextScrollTop = goodsList[i + 1].scrollTop;  if (currentScrollTop < scrollTop && scrollTop < nextScrollTop) {  that.setData({  classifyIdLeft: goodsList[i].id,  classifySeleted: goodsList[i].id  })  }  } }

关于上面提到的问题2,解决方法如下,但是具体参数没搞明白怎么回事,而且定位也不是很准,请求各位有什么好方法。

// 右侧滚动事件  onGoodsScroll: function (e) {  let that = this;  let scale = e.detail.scrollWidth / 600;  let scrollTop = e.detail.scrollTop / scale;  let h = 0;  let classifySeleted;  let len = that.data.goodsList.length;  that.data.goodsList.forEach(function (classify, i) {  var _h = 70 + classify.goods.length * 180;  if (scrollTop >= h - 100 / scale) {  classifySeleted = classify.id;  }  h += _h;  });  that.setData({  classifySeleted: classifySeleted,  classifyIdLeft: classifySeleted,  })  },

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Angularjs自定义指令在项目中如何使用

怎样使用nodeJS模块

以上就是微信小程序做出外卖菜单点单功能的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 菜单
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序开发中怎样做出城市选择

相关资讯