本文实例为大家分享了微信小程序实现左右列表联动的具体代码,供大家参考,具体内容如下
效果图:
直接上代码:
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;
}
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“微信小程序实现左右列表联动”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2025年10月25日
2025年10月25日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]

