<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了微信小程式實現選單左右聯動效果的具體程式碼,供大家參考,具體內容如下
首先是獲取資料,並且獲取資料的長度(需要根據長度來計算元素的高度),通過遍歷資料的內容通過題目和元素個數的相加得到高度,當消失高度小於等於某個元素的高度就設定索引值給左邊的選單目錄實現右邊滑動左邊聯動,左邊的選單點選事件聯動比較簡單就不說
wxml
<view class="menu"> <view class="left-box"> <scroll-view class="left_menu" scroll-with-animation scroll-y="true" scroll-into-view="{{leftViewId}}"> <text class="menu-item {{index==currentIndex?'menu-active':''}}" wx:for="{{navList}}" wx:key="this" data-id="menu{{index}}" data-i="{{index}}" bindtap="changeMenu">{{item.c_name}}</text> </scroll-view> </view> <view class="right-box"> <scroll-view class="right_menu" scroll-y='true' scroll-with-animation scroll-into-view="{{rightViewId}}" bindscroll="getScroll" enable-flex> <view wx:for="{{navList}}" wx:key="this" class='pro-item' id="menu{{index}}"> <view class="right_menu_head">{{item.c_name}}</view> <view class="list-box"> <view class="menu_list" wx:for-item='items' wx:for="{{item.list}}" wx:key="this"> <image src="{{items.url}}"></image> <view>{{items.goodsName}}</view> </view> </view> </view> </scroll-view> </view> </view>
wxss,這裡使用的是less語法,vscode外掛可編譯
.menu{ .left-box{ width: 180rpx; border-right: 1px solid #dfdfdf; position: fixed; left: 0; z-index: 10; top: 370rpx; box-sizing: border-box; height: 90%; background: #f0f0f0; .menu-item{ display: inline-block; width: 180rpx; height: 88rpx; font-size: 26rpx; line-height: 88rpx; background: #fff; text-align: center; border-bottom: 1px solid #dfdfdf; } .menu-active{ background: #f0f0f0; border-left: 10rpx solid #333999; } } .right-box{ width: 74%; position: fixed; top: 360rpx; height: 77%; right: 0; border-left: 20rpx; box-sizing: border-box; margin-top: 20rpx; .right_menu{ height: 100%; box-sizing: border-box; .pro-item{ .right_menu_head{ height: 80rpx; line-height: 80rpx; font-size: 26rpx; font-weight: 600; } &:last-child{ margin-bottom: 156rpx; } .list-box{ width: 100%; // min-height: 380rpx; display: flex; flex-wrap: wrap; background: #fff; box-sizing: border-box; border-radius: 10rpx; font-size: 20rpx; .menu_list{ width: 33.3%; font-size: 20rpx; padding: 20rpx 0; text-align: center; font-style: '微軟雅黑'; image{ width: 100rpx; height: 100rpx; } view{ color: #333; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } } } } } } }
js檔案
data:{ navList:[..],//資料 currentIndex: 0,//左邊對應的索引 rightViewId: '',//點選事件右邊的索引 } getScroll(e) {//微信小程式中繫結滑動函數,每滑動一下都會觸發 let top = e.detail.scrollTop, h = 0, _this = this; for (let i = 0; i < this.data.navList.length; i++) { let dishSize = this.data.navList[i].list.length;//獲取資料對應展示商品的json h += 38 + parseInt(dishSize / 3 * 80);//獲取當前元素的高度,38是標題高度,80是元素高度 if (top <= h) {//滿足條件立刻停止迴圈,就會一直停留再當前索引,不滿足當前就會自動到下一個選單 _this.setData({ currentIndex: i }) break; } } }, changeMenu(e) { console.log(this.data.heightArr, this.data.topArr); this.setData({ currentIndex: e.currentTarget.dataset.i, rightViewId: e.currentTarget.dataset.id }) }
展示圖片
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45