//使用循环嵌套data数据格式写对即可
{{item.txt}}
{{item.txt}}
{{item.name}}
js
Page({
data: {
toView: 'red1',
_click:0,
left: [{ txt: '新品', id: 'new' }, { txt: '手机', id: 'phone' }, { txt: '电视', id: 'mv' }, { txt: '电脑', id: 'computer' }],
right: [
{ txt: '新品', id: 'new',li: [{ src: '../../assets/images/max1.jpg', name: '小米noto' }, { src: '../../assets/images/max1.jpg', name: '小米mix' }, { src: '../../assets/images/max3.jpg', name: '小米5c' }, { src: '../../assets/images/max2.jpg', name: '小米notp' }, { src: '../../assets/images/max2.jpg', name: '小米note5' }, { src: '../../assets/images/max2.jpg', name: '小米6' }]},
{ txt: '手机', id: 'phone',li: [{ src: '../../assets/images/max2.jpg', name: '小米6s' }, { src: '../../assets/images/max3.jpg', name: '小米max' }, { src: '../../assets/images/max2.jpg', name: '小米5s' }, { src: '../../assets/images/max1.jpg', name: '小米li' }, { src: '../../assets/images/max3.jpg', name: '小米4' }, { src: '../../assets/images/max1.jpg', name: '小米max' }]},
{ txt: '电视', id: 'mv', li: [{ src: '../../assets/images/max3.jpg', name: '小米6' }, { src: '../../assets/images/max2.jpg', name: '小米mix' }, { src: '../../assets/images/max1.jpg', name: '小米7s' }, { src: '../../assets/images/max3.jpg', name: '小米2' }, { src: '../../assets/images/max1.jpg', name: '小米note7' }, { src: '../../assets/images/max3.jpg', name: '小米8' }] },
{ txt: '电脑', id: 'computer', li: [{ src: '../../assets/images/max1.jpg', name: '小米2' }, { src: '../../assets/images/max1.jpg', name: '小米mix' }, { src: '../../assets/images/max2.jpg', name: '小米max' }, { src: '../../assets/images/max1.jpg', name: '小米6' }, { src: '../../assets/images/max3.jpg', name: '小米note' }, { src: '../../assets/images/max1.jpg', name: '小米max' }] }]
},
scroll: function (e) {
console.log(e)//右侧列表滑动-左侧列表名称样式跟着改变,然而我不会写,搁置中,谁会告诉我,谢谢!
},
tap: function (e) {
var j = parseInt(e.currentTarget.dataset.i);
this.setData({
toView: this.data.left[j].id,//控制视图滚动到为此id的
_click:j //控制左侧点击后样式
})
},
})
wxss
page{border-top:1px solid #f6f6f6;}
.left{
height:100%;
width: 19%;
display: inline-block;
background:#fff;
text-align:center;
border-right:1px solid #eee;
}
.leftlist{
font-size:12px;
padding:10px;
}
.right{
height:100%;
width: 80%;
display: inline-block;
background:#fff;
text-align:center;
}
.line{
width:15px;
height:1px;
background:#ddd;
display:inline-block;
vertical-align:super;
margin:0 15px;
}
.li{
height:10%;
width:30%;
display:inline-block;
text-align:center;
}
.li image{width:60px;height:60px;}
.li .name{
font-size:12px;
display:block;
color:#888;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.title{padding:20px 0;}
.yes{color: #f99;font-size: 14px;}
友情提示:
一、左侧点击样式改变:
利用自身index与点击的元素的index比较。
data-i=“{{获取当前index传给_click保存}}”,
class=“leftlist {{index==_click?‘yes’:’’}}”,
此处index是自身的,如果自身和点击的一致就添加,yes类名,否侧滞空清除yes样式。
二、点击左侧,右侧跟随:
利用
scroll-into-view="{{id}}",
视图会滚动到id为此id的view标签。我是直接从data数据里取得id,也可以直接获取点击元素id。
三、循环嵌套:data数据格式写对,按照官方文档就行。