uniapp实现滑动导航

一,效果
在这里插入图片描述
二,实现代码

<template>
	<view class="content">
		<!-- 导航区域 -->
		<scroll-view class="scroll-view_H" scroll-x="true" scroll-left="0" enable-flex="true">
			<view :class="['scroll-view-item_H',currentTab==index?'active':'']" v-for="(item,index) in navbar" :key='index' @click="tabClick(index)">{{item}}</view>
		</scroll-view>
		<!-- 内容区域 -->
		 <swiper class="swiper" :current="currentTab" @change="swiperTab" :style="{height:swiperHeight+'px'}" >
			<swiper-item>
				<view class="swiper-item">
					古代诗词页面
				</view>
			</swiper-item>
			<swiper-item>
				<view class="swiper-item">
					网络小说页面
				</view>
			</swiper-item>
			<swiper-item>
				<view class="swiper-item">
					网上段子页面
				</view>
			</swiper-item>
			<swiper-item>
				<view class="swiper-item">
					日常生活页面
				</view>
			</swiper-item>
		</swiper>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				 navbar: ['古代诗词', '网络小说', '网上段子','日常生活'],//导航栏类目
				 currentTab: 0,//当前选中的导航类目
				 swiperHeight:0//动态给定swiper的高度
			}
		},
		onLoad(option) {
			this.swiperHeight = uni.getSystemInfoSync().windowHeight-25;
			console.log(this.swiperHeight);
		},
		methods: {
		  tabClick(index){
			  this.currentTab=index
		  },
		  swiperTab(e) {
			this.currentTab = e.detail.current; //获取索引
			console.log("this.currentTab",this.currentTab)
		  }
		}
	}
</script>

<style lang="less" scoped>
.content{
	width: 100%;
	.scroll-view_H{
		width: 100%;
		height: 60rpx;
		text-align: center;
		line-height: 60rpx;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		overflow: hidden;
		.scroll-view-item_H{
			flex-shrink: 0;
			width: 300rpx;
			color: #000000;
			font-size: 30rpx;
			font-size: bold;
			background-color: #EA5149;
			letter-spacing: .1em;
			text-shadow: 0px 1px 2px #A42B14;
		}
		.active{
			font-size: 40rpx;
			color: #55aaff;
		}
	}
	.swiper-item{
		height: 100%;
	}
}
</style>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值