当前位置:网站首页>uniapp横向选项卡(水平滚动导航栏)效果demo(整理)
uniapp横向选项卡(水平滚动导航栏)效果demo(整理)
2022-08-04 23:15:00 【我是开心呀】
效果图:
<!-- 横向选项卡(水平滚动导航栏) -->
<template>
<view>
<!-- 顶部导航栏 -->
<view class="horizonal-tab">
<scroll-view scroll-x="true" scroll-with-animation class="scroll-tab">
<block v-for="(item,index) in tabBars" :key="index">
<view class="scroll-tab-item" :class="{'active': tabIndex==index}" @tap="toggleTab(index)">
{
{
item.name}}
<view class="scroll-tab-line"></view>
</view>
</block>
</scroll-view>
</view>
<!-- 内容区 -->
<view class="content">
<!-- 滑块视图 -->
<swiper :current="tabIndex" @change="tabChange">
<!-- current:当前所在滑块的index -->
<swiper-item v-for="(content,index) in contentList" :key="index">
<view class="content">{
{
content}}</view>
</swiper-item>
</swiper>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabIndex: 0,
/* 选中标签栏的序列,默认显示第一个 */
contentList: [
"关注",
"推荐",
"热点",
"体育",
'财经',
'娱乐',
'哈',
'哈1',
'哈2',
'哈3',
],
tabBars: [{
name: '关注',
id: 'guanzhu'
},
{
name: '推荐',
id: 'tuijian'
},
{
name: '热点',
id: 'redian'
},
{
name: '体育',
id: 'tiyu'
},
{
name: '财经',
id: 'caijing'
},
{
name: '娱乐',
id: 'yule'
},
{
name: '哈',
id: 'ha'
},
{
name: '哈1',
id: 'ha1'
},
{
name: '哈2',
id: 'ha2'
},
{
name: '哈3',
id: 'ha3'
}
]
}
},
methods: {
//切换选项卡
toggleTab(index) {
this.tabIndex = index;
},
//滑动切换swiper
tabChange(e) {
console.log(e);
this.tabIndex = e.detail.current;
}
}
}
</script>
<style>
.horizonal-tab {
}
.horizonal-tab .active {
color: red;
}
.scroll-tab {
white-space: nowrap;
/* 必要,导航栏才能横向*/
border-bottom: 1rpx solid #eee;
text-align: center;
}
.scroll-tab-item {
display: inline-block;
/* 必要,导航栏才能横向*/
margin: 20rpx 30rpx 0 30rpx;
}
.active .scroll-tab-line {
border-bottom: 5rpx solid red;
border-top: 5rpx solid red;
border-radius: 20rpx;
width: 70rpx;
}
</style>
边栏推荐
- 线上虚拟展馆展示具有哪些优势
- Reconfigure the ffmpeg plugin in chrome
- 【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】
- web3.js
- Shell编程之循环语句与函数的使用
- 【3D建模制作技巧分享】ZBrush如何重新拓扑
- 【3D建模制作技巧分享】Maya模型如何导入zbrush
- panic: reflect: reflect.Value.SetString using value obtained using unexported field
- Pytest learning - fixtures
- 社区分享|腾讯海外游戏基于JumpServer构建游戏安全运营能力
猜你喜欢
随机推荐
自从新来了个字节20K出来的,就见识到了什么是天花板
Go 语言快速入门指南:什么是 TSL 安全传输层
panic: reflect: reflect.Value.SetString using value obtained using unexported field
学生管理系统架构设计
MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包
Shell编程之循环语句与函数的使用
kernel hung_task死锁检测机制原理实现
MySQL基础篇【子查询】
FinClip崁入式搭建生态平台,降低合作门槛
The market value of 360 has evaporated by 390 billion in four years. Can government and enterprise security save lives?
测试技术:关于上下文驱动测试的总结
Acwing3593. 统计单词
[Cultivation of internal skills of string functions] strncpy + strncat + strncmp (2)
3D建模师为了让甲方爸爸过稿,还可以这么做,就是在赚血汗钱啊
360市值四年蒸发3900亿,政企安全能救命吗?
功耗控制之DVFS介绍
web3.js
「津津乐道播客」#397 厂长来了:怎样用科技给法律赋能?
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
吐槽 | 参加IT培训的正确姿势