广告
返回顶部
首页 > 资讯 > 精选 >微信小程序如何实现点餐小程序左侧滑动菜单
  • 108
分享到

微信小程序如何实现点餐小程序左侧滑动菜单

2023-07-02 19:07:35 108人浏览 薄情痞子
摘要

这篇文章主要讲解了“微信小程序如何实现点餐小程序左侧滑动菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现点餐小程序左侧滑动菜单”吧!效果图:一、初识scroll-view

这篇文章主要讲解了“微信小程序如何实现点餐小程序左侧滑动菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现点餐小程序左侧滑动菜单”吧!

效果图:

微信小程序如何实现点餐小程序左侧滑动菜单

一、初识scroll-view

想要实现上述功能我们必须要借助微信为我们提供的scroll-view组件,没有了解过的同学需要先去简单阅读下api。从图中我们可以看出整个布局主要是由左右两个滚动界面构成。但是它们彼此之间又有联系,在点击左侧菜单类型跟滑动右侧菜品的时候另外一个滚动窗口必须做出响应。滚动条实现原理其实就是我们html中的锚点,右侧整个菜单是一个完整界面它会将其按唯一id标识拆分成不同模块。比如我们整个界面的高度是2000rpx,其中人气top10占400rpx。那么height:0-400就对应人气top10。而无肉不欢对应模块高度为300rpx那么,400-700区域就是无肉不欢。以此类推,下面代码中我们使用id="{{ ‘right’ + item.id}}" 为每个分类模块做了唯一标识。

<view>  <view class="menuMain">    <scroll-view scroll-y="true" class="menuLeft">      <view wx:for="{{menuArr}}" wx:key="*this" bindtap="leftMenuClick" data-current_index="{{index}}" class="{{leftView == index ? 'active' : ''}}">{{item.name}}      </view>    </scroll-view>    <scroll-view scroll-y="true" scroll-with-animation="true" bindscroll="rightScroll" scroll-into-view="{{rightId}}"     class="menuRight">      <view  wx:for="{{menuArr}}" wx:key="*this" id="{{ 'right' + item.id}}" class="Goods">        <view class="goodsType">         ---  {{item.name}} ---        </view>        <view wx:for="{{item.subArr}}" wx:key="*this" wx:for-item="goods" class="goodsContent">          <view class="orderDishes">            <image src="{{goods.imageUrl}}" ></image>            <view class="goodsInfo">              <view class="goodsInfo">{{goods.goodsName}}</view>              <view class="goodsInfo">规格:{{goods.unit}}</view>              <view class="goodsInfo goodsInfoPrice">¥{{goods.price}}</view>              <view class="add">                +              </view>            </view>          </view>        </view>      </view>    </scroll-view>  </view></view>

二、左侧导航

在小程序初始化生命周期函数onReady中我们需要提前获取不同模块的高度并存入数组中,来为我们后续跳转提供高度信息。我们分段将所有的view对应高度都放入到heightArr 数组中。首先实现左侧点击导航右侧滑动到对应高度需求,这里使用bindtap微信我们提供的绑定事件函数来控制右侧的位置。这里我们为for循环参数index进行了重命名,通过自定义属性data-传递给函数调用者。这里需要注意一个属性scroll-into-view。值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素 其对应的view标识id就是当前右侧滑动窗口要显示的内容,所以我们需要将左侧属性与右侧视图id对应起来。在data中我们定义两个字段leftView代表左侧人气top10,无肉不欢等分类导航。rightId对应scroll-view标签下各个view的唯一id值。这里注意我们的id并不是直接对应,前面有right字段使用是需要进行组合。点击左侧控制右侧滑动的功能并不需要用到高度数组,只需要使其与view中的id对应起来即可。详细请看leftMenuClick函数。为了使动画看起来比较流畅请加上scroll-with-animation属性

let heightArr = [0]  // 存放高度累加数组data: {    rightId: 'right0',    leftView: 0  },  onReady: function () {    const query = wx.createSelectorQuery()    query.selectAll('.goods').boundinGClientRect()    query.selectViewport().scrollOffset()    query.exec(function (res) {      res[0].top // #the-id节点的上边界坐标      res[1].scrollTop // 显示区域的竖直滚动位置      res[0].map( val => {        let result = val.height  + heightArr[heightArr.length - 1]        console.log(result)        // 拿后一个view盒子的高度加上前面的高度        heightArr.push(result)       })      console.log(heightArr)    })    },  leftMenuClick(e){    console.log(e.currentTarget.dataset.current_index)    this.setData({      leftView: e.currentTarget.dataset.current_index,      rightId: 'right' + e.currentTarget.dataset.current_index    })  },    rightScroll(e) {    let st = e.detail.scrollTop    console.log('st' + e.detail.scrollTop)    for(let i = 0; i < heightArr.length; i++){      if(st >= heightArr[i] && st <= heightArr[i+1] - 5){        this.setData({          leftView: i,        })        console.log(this.data.leftView)        return      }    }  }

三、右侧滑动

右侧滑动控制左侧菜单自动选择就需要用到我们前面说到的滑动高度了,上面我们获取到了每个view对应的高度分别存储到了heightArr 数组中。数组中存放的每个数值对应的是我们view所在高度。e.detail.scrollTop获取到的是顶部界面所属高度,假设当前顶部高度为500我们知道400-700是属于无肉不欢对应的界面。此时只需要判断后将leftView修改为所对应的2即可。具体实现看rightScroll函数,我们遍历循环heightArr中的高度数值判断当前st属于哪个阶层,找到后将左侧标识字段设置为对应值即可。其中我们 -5是为了使用户体验更友好避免出现分类标题已经划过去了,左侧导航还没变更的情况。大体逻辑就是这样,样式根据自己需求来就可以。下面给出我实现界面对应的代码,其中很多样式都是伪代码大家到时自信更改。

.link {  height: 30px;}.mainMenu {  width: 180rpx;}.menuMain {  height: 100vh;  display: flex;  flex-direction: row;  justify-content: space-around;}.menuLeft {  width: 20%;}.menuLeft view {  font-size: 26rpx;  text-align: center;  height: 100rpx;  line-height: 100rpx;  background-color: rgb(238, 241, 241);  position: relative;}.menuLeft view.active{  background-color: rgb(255, 255, 255);}.menuLeft view::before {  content: '';  width: 6rpx;  height: 100%;  position: absolute;  left: 0;  top: 0;  background-color:transparent;  border-left: none;}.menuLeft view.active::before {  background-color: rgb(245, 229, 6);}.menuRight {  height: 100vh;  width: 75%;}.menuRight .goods{  padding: 10rpx;}.menuRight .goodsType{  text-align: center;  height: 60rpx;  line-height: 60rpx;  font-weight: 600;  color: rgb(0, 0, 0);}.menuRight .goods .goodsContent .orderDishes image{  width: 320rpx;  height: 260rpx;}.menuRight .goods .goodsContent text{  overflow: hidden;  text-overflow: ellipsis;  white-space: nowrap;}.orderDishes{  padding-top: 20rpx;  display: flex;  flex-direction: row;}.add{  margin-left: 40rpx;  margin-top: 10rpx;  width: 120rpx;  font-size: 40rpx;  font-weight: 600;  height: 40rpx;  line-height: 40rpx;  text-align: center;  background-color: rgb(219, 80, 55);  border-radius: 20rpx;  color: rgb(255, 255, 255);}.goodsInfo{  margin-left: 16rpx;  height: 65rpx;  font-size: 28rpx;  font-weight: 800;  color: rgb(0, 0, 0);}.goodsInfoPrice{  color: rgb(247, 36, 36);}

感谢各位的阅读,以上就是“微信小程序如何实现点餐小程序左侧滑动菜单”的内容了,经过本文的学习后,相信大家对微信小程序如何实现点餐小程序左侧滑动菜单这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 微信小程序如何实现点餐小程序左侧滑动菜单

本文链接: https://www.lsjlt.com/news/343781.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 微信小程序实现点餐小程序左侧滑动菜单
    目录前言一、初识scroll-view二、左侧导航三、右侧滑动前言 最近在帮亲戚做一款微信的点餐小程序,以前从没有接触过小程序的我只能现做现卖。一边看文档一边实践尝试,在进行到点菜模...
    99+
    2022-11-13
  • 微信小程序如何实现点餐小程序左侧滑动菜单
    这篇文章主要讲解了“微信小程序如何实现点餐小程序左侧滑动菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现点餐小程序左侧滑动菜单”吧!效果图:一、初识scroll-view...
    99+
    2023-07-02
  • 微信小程序左侧栏滑动怎么实现
    微信小程序左侧栏滑动的方法:1.创建微信小程序项目;2.在index.wxml文件中添加页面设计代码;3.在index.wxss文件中添加样式代码;4.在index.js文件中添加实现文件滑动效果的代码;5.保存编辑的代码并进行调试即可。具...
    99+
    2022-10-04
  • 微信小程序如何实现左右滑动
    这篇文章将为大家详细讲解有关微信小程序如何实现左右滑动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目整体效果项目部分功能点解析主页图片左滑右滑对应按钮变化首先我们来聊...
    99+
    2022-10-19
  • 微信小程序实现滑动侧边栏
    本文实例为大家分享了微信小程序滑动侧边栏的具体代码,供大家参考,具体内容如下 效果图: 手指向右滑动可以显示侧边栏,向左滑动隐藏侧边栏 代码附上:.wxml <view cl...
    99+
    2022-11-13
  • 小程序如何实现左滑抽屉菜单
    这篇文章将为大家详细讲解有关小程序如何实现左滑抽屉菜单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在移动端,侧滑菜单是一个很常用的组件(通常称作 Drawer,抽屉)。因为现在手机屏幕太大,点击角落的菜...
    99+
    2023-06-20
  • 微信小程序实现菜单左右联动效果
    本文实例为大家分享了微信小程序实现菜单左右联动效果的具体代码,供大家参考,具体内容如下 原理 首先是获取数据,并且获取数据的长度(需要根据长度来计算元素的高度),通过遍历数据的内容通...
    99+
    2022-11-13
  • 微信小程序实现左侧导航栏
    本文实例为大家分享了微信小程序实现左侧导航栏的具体代码,供大家参考,具体内容如下 wxml <view class="content">       <view c...
    99+
    2022-11-13
  • 使用微信小程序实现滑动菜单效果
    使用微信小程序实现滑动菜单效果微信小程序作为一种快速开发并具有广泛应用的工具,为我们提供了多种实现滑动菜单效果的方法。本文将向您展示一种简单而实用的实现方式,帮助您在开发中轻松添加滑动菜单效果。准备工作在开始编码之前,我们需要先创建一个基本...
    99+
    2023-11-21
    微信小程序 实现 滑动菜单
  • 微信小程序如何实现左侧导航栏
    这篇“微信小程序如何实现左侧导航栏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序如何实现左侧导航栏”文章吧。wxm...
    99+
    2023-07-02
  • 微信小程序实现联动菜单
    最近为了实现课程设计,也做了一些前端的东西,今天想要做一个联动菜单来实现一些功能。实现了,也来做做笔记。 第1步:了解一下 左右侧菜单其实简单来讲就是把一个区域分成左右两个部分。关于...
    99+
    2022-11-12
  • 小程序原生实现左滑抽屉菜单
    目录WXS 响应事件方案A页面结构和样式WXS 事件回调函数WXS 脚本遮罩层方案B为什么要使用 WXS结语 & 参考资料参考资料:在移动端,侧滑菜单是一个很常用的组件(通常...
    99+
    2022-11-12
  • 微信小程序如何实现向左滑动删除功能
    这篇文章将为大家详细讲解有关微信小程序如何实现向左滑动删除功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 向左滑动删除功能的实现实现效果图:实现代码:1、w...
    99+
    2022-10-19
  • 微信小程序实现左右联动
    本文实例为大家分享了微信小程序实现左右联动的具体代码,供大家参考,具体内容如下 最近学校课程系统分析项目使用了微信小程序来进行搭建,在选择了点餐项目后,对主页进行实现时,想要实现像麦...
    99+
    2022-11-12
  • 微信小程序实现滑动删除
    本文实例为大家分享了微信小程序实现滑动删除的具体代码,供大家参考,具体内容如下 wxml <view class="bgwhite bor-bom-f2 row just-b...
    99+
    2022-11-13
  • 微信小程序中如何实现左滑删除效果
    小编给大家分享一下微信小程序中如何实现左滑删除效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先看效果要实现的效果:1,当向左...
    99+
    2022-10-19
  • 微信小程序实现滑动/点击切换Tab
    背景 👏 swiper+scroll-view实现滑动/点击切换Tab,以及scroll-left的使用~ 🥇文末分享源代码。记得点赞+关注+收藏! 1.实现效果 2.实现步骤 2.1 scroll-vie...
    99+
    2023-08-16
    微信小程序 小程序 前端
  • 微信小程序实现收缩式菜单
    本文实例为大家分享了微信小程序实现收缩式菜单的具体代码,供大家参考,具体内容如下 wxml文件 <view class="page"> <!--分类 -->...
    99+
    2022-11-13
  • 微信小程序如何实现食堂点餐系统
    本篇内容介绍了“微信小程序如何实现食堂点餐系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、项目展示这是一款娱乐性的小程序目的是为了解决...
    99+
    2023-07-05
  • 微信小程序如何实现收缩式菜单
    这篇“微信小程序如何实现收缩式菜单”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序如何实现收缩式菜单”文章吧。wxm...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作