微信小程序实现菜单左右联动
本文实例为大家分享了微信小程序实现菜单左右联动的具体代码,供大家参考,具体内容如下
今天记录一个个人写的二级联动示例。
下面是效果图:
功能实现关键是使用控件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实现数值型坐标轴刻度计算算法(echarts的y轴刻度计算)
这篇文章主要介绍了基于JavaScript实现数值型坐标轴刻度计算算法(echarts的y轴刻度计算),文章围绕主题展开详细的内容介绍,感兴趣的朋友可以参考与一下2022-06-06JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
这篇文章主要介绍了JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序,需要的朋友可以参考下2017-01-01pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet p
这篇文章主要为大家介绍了pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies报错解决2023-06-06JavaScript列表框listbox全选和反选的实现方法
这篇文章主要介绍了JavaScript列表框listbox全选和反选的实现方法,涉及javascript操作列表框listbox的技巧,非常具有实用价值,需要的朋友可以参考下2015-03-03
最新评论