本文实例为大家分享了微信小程序实现左右列表联动的具体代码,供大家参考,具体内容如下
效果图:
直接上代码:
wxml界面:
<view class='header'> <text class='headerClass'>分类</text> <text class='headerPin'>/品牌</text> <view class="search"> <image src='/images/搜索.png'></image> <text>搜索商品</text> </view> </view> <view class='main'> <view class='left'> <scroll-view scroll-y="true" style="height: 1100rpx" scroll-into-view="true" scroll-with-animation="true"> <block wx:for="{{leftText}}" wx:for-list="item"> <view class="{{classfiySelect == item.id" data-id='{{item.id}}' bindtap='left_list'> <text>{{item.text1}}</text> </view> </block> </scroll-view> </view> <view class='right'> <scroll-view scroll-y="true" style="height: 1100rpx" bindscroll="scroll" scroll-top="{{scrollTop}}" scroll-into-view="{{'inToview'+rigId}}" scroll-with-animation="true"> <block wx:for="{{rightData}}" wx:for-list="item"> <view class='itemTitle' id="{{'inToview'+item.id}}">{{item.title}}</view> <view bindtap='particulars' class='listItem' data-id='{{item.id}}'> <block wx:for="{{item.frist}}"> <view class='listItem2' data-text="{{}}"> <view class='img'> <image src='{{item.url}}'></image> </view> <view class='listText'> <text>{{item.text}}</text> <text class='money'>¥{{item.money}}</text> <view> <text>已售{{item.sum}}</text> <button size='mini' bindtap='particulars'>立即抢购</button> </view> </view> </view> </block> </view> </block> </scroll-view> </view> </view>
js界面:
// pages/class/class.js Page({ /** * 页面的初始数据 */ data: { classfiySelect: "", leftText: [{ id: "01", text1: "美妆专区", }, { id: "02", text1: "面部清洁", }, { id: "03", text1: "洗护专区", }, { id: "04", text1: "面膜", }, { id: "05", text1: "口红", }, { id: "06", text1: "美妆专区", }, { id: "07", text1: "面部清洁", }, { id: "08", text1: "洗护专区", }, { id: "09", text1: "面膜", }, { id: "010", text1: "口红", }, { id: "011", text1: "美妆专区", }, { id: "012", text1: "面部清洁", }, { id: "013", text1: "洗护专区", }, { id: "014", text1: "面膜", }, { id: "015", text1: "口红", }, { text1: "美妆专区", }, { text1: "面部清洁", }, { text1: "洗护专区", }, { text1: "面膜", }, { text1: "口红", }, ], rightData: [{ id: "01", title: "美妆专区", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, id:1, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, id: 2, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, { id: "02", title: "面部清洁", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, { id: "03", title: "洗护专区", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, { id: "04", title: "面膜", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, { id: "05", title: "口红", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, { id: "06", title: "美妆专区", frist: [{ url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿兰补水套装", money: 200, sum: 20, }, ], }, ], }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { this.setData({ classfiySelect: this.data.leftText[0].id }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function() { }, /** * 生命周期函数--监听页面显示 */ onShow: function() { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { }, //滚动触发 scroll: function(e) { var scrollTop = e.detail.scrollTop, h = 0, classfiySelect; var that = this; that.data.leftText.forEach(function(clssfiy, i) { var _h =26 + that.length(clssfiy['id'])*102; if (scrollTop >= h){ classfiySelect = clssfiy['id']; } h +=_h; console.log(h); }) that.setData({ classfiySelect: classfiySelect, }) }, //求每一栏高度 length: function(e) { var that = this; var rightData = that.data.rightData; for (var i = 0; i < rightData.length; i++) { if(rightData[i]['id']==e){ return rightData[i]['frist'].length; } } }, //点击左边事件 left_list: function(e) { var that = this; var l_id = e.currentTarget.dataset.id; that.setData({ rigId: l_id, }) }, //跳转详情界面 particulars:function(e){ } })
wxss界面:
.header{ display: flex; background-color: rgba(219, 219, 221, 0.884); align-items: center; height: 60rpx; } .active{ color: red; } .header .headerClass{ color: red; margin-left: 20rpx; } .header .headerClass, .header .headerPin{ font-size: 28rpx; } .search{ display: flex; height: 46rpx; border-radius: 20rpx; margin-left: 30rpx; background-color:white; width: 70%; } .search text{ color: gainsboro; font-family: monospace; font-size: 30rpx; line-height: 46rpx; } .search image{ padding-left:50rpx; width: 46rpx; height: 46rpx; } .main{ display: flex; } .left{ width: 25% } .left view{ padding-top: 30rpx; text-align: center; } .right{ width: 75%; } .listItem2{ display: flex; } .listItem .img{ width: 200rpx; height: 200rpx; text-align: center; padding-top: 10rpx; } .listItem .img image{ width: 80%; height: 80% } .itemTitle{ font-size: 32rpx; padding-left: 20rpx; padding-top: 10rpx; color:gray; } .listItem .listText{ display: flex; flex-direction: column; margin-top: 6rpx; } .listItem .listText view{ display: flex; align-items: flex-end; } .listItem .listText text{ font-size: 34rpx; margin-top: 10rpx; } .listItem .listText .money{ color: red; } .listItem .listText view text{ font-size: 28rpx; color :silver; margin-right: 60rpx; } .listItem .listText view button{ background-color: red; color: white; padding-right: 8px; padding-left: 8px; padding-top: 0px; } ::-webkit-scrollbar { width: 6px; height: 6px; background-color: #ffffff; } ::-webkit-scrollbar-track{ height: 20rpx; color: black; }
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】