dev
liuyongli 3 years ago
parent eb280532e8
commit 93ece12e28

@ -45,39 +45,59 @@ Page({
num: '0' num: '0'
}, },
], ],
tabList: [ navData:[
{ {
text: '精选推荐', text: '数据'
key: 0,
}, },
{ {
text: '夏日防晒', text: '事件'
key: 1,
}, },
{ {
text: '二胎大作战', text: '传播媒体'
key: 2,
}, },
{ {
text: '人气榜', text: '传播声量'
key: 3,
}, },
{ {
text: '好评榜', text: '晴雨表'
key: 4,
}, },
{ {
text: 'RTX 30', text: '租晴雨表房子'
key: 5,
}, },
{ ],
text: '手机也疯狂', currentTab: 0,
key: 6, navScrollLeft: 0
},
],
}, },
switchNav(event){
// 获取当前tab 的id
var cur = event.currentTarget.dataset.current;
//每个tab选项宽度占1/5
var singleNavWidth = this.data.windowWidth / 5;
//tab选项居中
this.setData({
navScrollLeft: (cur - 2) * singleNavWidth
})
// 判断id是否和点击的tab id 一致
if (this.data.currentTab == cur) {
return false;
} else {
this.setData({
currentTab: cur
})
}
},
switchTab(event){
var cur = event.detail.current;
var singleNavWidth = this.data.windowWidth / 5;
this.setData({
currentTab: cur,
navScrollLeft: (cur - 2) * singleNavWidth
});
},
onShow() { onShow() {
this.getTabBar().init(); this.getTabBar().init();
}, },

@ -1,13 +1,25 @@
<!--index.wxml--> <!--index.wxml-->
<view> <view class="container">
<view wx:for="{{tabList}}" <scroll-view scroll-x="true" class="nav" scroll-left="{{navScrollLeft}}" scroll-with-animation="{{true}}">
wx:for-index="index" <block wx:for="{{navData}}" wx:for-index="idx" wx:for-item="navItem" wx:key="idx">
wx:key="index" <!-- 判断是否选中,选中设置样式 -->
label="{{item.text}}" <!-- switchNav -->
value="{{item.key}}"></view> <view class="nav-item {{currentTab == idx ?'active':''}}" data-current="{{idx}}" bindtap="switchNav">
{{navItem.text}}</view>
</block>
</scroll-view>
<scroll-view class="scrollList" scroll-x="true" enable-flex="true"> <scroll-view class="scrollList" scroll-x="true" enable-flex="true">
<text wx:for="{{condition}}" class="{{index === 0 ? 'actived' : ''}}" wx:key="index">{{item}}</text> <text wx:for="{{condition}}" class="{{index === 0 ? 'actived' : ''}}" wx:key="index">{{item}}</text>
</scroll-view> </scroll-view>
<!-- 页面内容 -->
<!-- duration="300":滑动动画时长 -->
<!-- switchTab -->
<swiper class="tab-box" current="{{currentTab}}" duration="300" bindchange="switchTab">
<swiper-item wx:for="{{[0,1,2,3,4,5,6]}}" wx:for-item="tabItem" wx:for-index="idx" wx:key="idx"
class="tab-content">
{{tabItem}}
</swiper-item>
</swiper>
<view class="top"> <view class="top">
<view wx:for="{{toplist}}" wx:key="url" class="top_box"> <view wx:for="{{toplist}}" wx:key="url" class="top_box">
<!-- <view class="box_image"> <!-- <view class="box_image">
@ -21,4 +33,4 @@
</view> </view>
</view> </view>
<tabbar /> <tabbar />
</view> </view>

@ -70,3 +70,71 @@ background: #F0F5FF;
font-weight: 900; font-weight: 900;
font-size: 28rpx; font-size: 28rpx;
} }
/**index.wxss**/
page {
width: 100%;
height: 100%;
}
.container {
width: 100%;
height: 100%;
}
.nav {
/* 设置tab-nav宽高度 */
height: 80rpx;
width: 100%;
/* 假如您需要并排放置两个带边框的框,
可通过将 box-sizing 设置为 "border-box"。 */
box-sizing: border-box;
overflow: hidden;
/* 居中 */
line-height: 80rpx;
background:
#f7f7f7;
font-size: 16px;
/* 规定段落中的文本不进行换行: */
white-space: nowrap;
position: fixed;
top: 0;
left: 0;
z-index: 99;
}
.nav-item {
width: 20%;
display: inline-block;
text-align: center;
}
.nav-item.active {
color:
green;
}
.tab-box {
background:
rgb(31, 201, 96);
/* 这里设置成nav的高度 */
padding-top: 80rpx;
height: 100%;
box-sizing: border-box;
}
.tab-content {
/* 裁剪 div 元素中内容的左/右边缘 - 如果溢出元素的内容区域的话: */
overflow-y: scroll;
}

Loading…
Cancel
Save