微信小程序实现菜单左右联动


Posted in Javascript onMay 19, 2020

本文实例为大家分享了微信小程序实现菜单左右联动的具体代码,供大家参考,具体内容如下

今天记录一个个人写的二级联动示例。

下面是效果图:

微信小程序实现菜单左右联动

功能实现关键是使用控件scroll-view,下面直接上示例代码。

页面对应的js文件:

Page({
 data: {
 select_index:0,
 scroll_height:0,
 left: [{
 id: 1,
 title: '选项一'
 },
 {
 id: 2,
 title: '选项二'
 },
 {
 id: 3,
 title: '选项三'
 },
 {
 id: 4,
 title: '选项四'
 },
 {
 id: 5,
 title: '选项五'
 },
 {
 id: 6,
 title: '选项六'
 },
 {
 id: 7,
 title: '选项七'
 }
 ],
 right:[
 {
 id: 1,
 title: '选项一',
 content:[
  {
  title:"产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 2,
 title: '选项二',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 3,
 title: '选项三',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 4,
 title: '选项四',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 5,
 title: '选项五',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 6,
 title: '选项六',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 },
 {
 id: 7,
 title: '选项七',
 content: [
  {
  title: "产品一"
  },
  {
  title: "产品二"
  },
  {
  title: "产品三"
  },
  {
  title: "产品四"
  },
 ]
 }
 ]
 },
 
 // 右边scroll-view滑动事件
 scroll:function(e){
 var h = e.detail.scrollTop
 var scroll_height = 0;
 var select_index;
 for (var i = 0; i < this.data.right.length; i++) {
 if (scroll_height >= h){
 select_index = i;
 break;
 }
 scroll_height += this.data.right[i].content.length * 64 + 48;
 }
 this.setData({
 select_index: i,
 });
 },
 
 //左边点击事件
 left_tap:function(e){
 var scroll_height = 0;
 for (var i = 0; i < e.target.dataset.index;i++){
 scroll_height += this.data.right[i].content.length * 64 + 48;
 }
 console.log(scroll_height)
 this.setData({
 scroll_height: scroll_height,
 select_index: e.target.dataset.index,
 });
 }
})

页面对应的wxml文件:

<view class='main'>
 
 <view class='left'>
 <scroll-view scroll-y="true" scroll-with-animation="true">
 <block wx:for="{{left}}" wx:for-index="index">
 <view class='{{select_index==index?"active":""}}' data-index="{{index}}" bindtap='left_tap'>{{item.title}}</view>
 </block>
 </scroll-view>
 </view>
 
 <view class='right'>
 <scroll-view scroll-y="true" scroll-top="{{scroll_height}}" bindscroll="scroll" scroll-with-animation="true">
 <block wx:for="{{right}}">
 <view class='block'>
  <view style='background: lightgrey;'>{{item.title}}</view>
  <view class='list'>
  <block wx:for="{{item.content}}">
  <view>{{item.title}}</view>
  </block>
  </view>
 </view>
 </block>
 
 </scroll-view>
 </view>
 
</view>

注:纯个人编写,用于记录

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
Dec 25 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
javascript 对象 与 prototype 原型用法实例分析
Nov 11 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 Javascript
JS array数组检测方式解析
May 19 #Javascript
基于JS实现table导出Excel并保留样式
May 19 #Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
May 19 #Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 #jQuery
JS加载解析Markdown文档过程详解
May 19 #Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
May 19 #Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 #jQuery
You might like
php目录管理函数小结
2008/09/10 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python-openCV开运算实例
2020/07/05 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
python实现xml转json文件的示例代码
2020/12/30 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
英文演讲稿开场白
2014/08/25 职场文书
高中班主任评语
2014/12/30 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书