這次帶給大家微信小程式做出外帶菜單點單功能,的注意事項有哪些,下面就是實戰案例,一起來看一下。
1.功能僅是選單功能一部分,僅供參考
2.需求描述:右側菜餚部分在滾動的時候,左側菜餚選取分類與右側第一行菜餚所在分類對應。
我的實現方式:(每個菜餚高度*該分類菜品數量) 菜餚分類高度 = x, 每次滾動的時候判斷當前scrollTop是否在x範圍內?左側選取該分類:左側不做改變;
問題:我設定菜餚高度的單位是rpx,而scrollTop的單位是px,這也就是說,上面我計算的x是個變量, 所以當改變測試機型,這個功能就失效了。 。 。請教各位有什麼好的方法沒?
onLoad(e) { let goodsList = this.data.goodsList; // 初始化每项菜品距离顶部的距离 for (let i = 0; i <p style="text-align: left;">關於上面提到的問題2,解決方法如下,但是具體參數沒搞明白怎麼回事,而且定位也不是很準,請求各位有什麼好方法。 </p><pre class="brush:php;toolbar:false">// 右侧滚动事件 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中文網其它相關文章!
推薦閱讀:
以上是微信小程式做出外帶菜單點單功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!