微信小程序实现tab组件切换动画

 更新时间:2022年10月25日 14:57:29   作者:小余努力搬砖  
tab相对而言用的还是比较多的,但是用起来并没有难,下面这篇文章主要给大家介绍了关于微信小程序全局配置之tab的相关资料,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下

前言

本次主要内容是介绍页面tab的开发,如何实现tab与页面内容联动呢?关注我就知道!

本次效果展示

如何实现页面tab

1.使用内置组件scroll-view

如下图所示,我们需要使用到红色框框中的属性,此属性可也实现滚动

这里有一个大坑,不管是使用scroll-x还是scroll-y遍历数据都是出现在左边一数列(这里我们只关注scroll-x、scroll-y)

<scroll-view scroll-x="true" class='scroll-view-t' :scroll-into-view="scrollinto">
<view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" 
		:class="currentIndex==index?'active':''" @click="changeTab(index)">
	{{item}}
</view>
</scroll-view>
<scroll-view scroll-y="true" :style="'height:'+scrollH+'px'">
	<view v-for="(item,index) in 100 " :key='index'>
		{{item}}
	</view>
</scroll-view>

我们只能通过样式来改变它,让它横过来

    .scroll-view-t view {
		display: inline-block;
		font-size: 32rpx !important;
		margin: 0 15rpx;
	}
	.scroll-view-t {
		white-space: nowrap;
		height: 88rpx;
		line-height: 88rpx;
	}

2.实现点击时出现的背景样式

这里我们需要定义一个默认的索引currentIndex,在通过点击事件所传出去的索引进行判断,从而获得当前所点击的对象给到样式,样式我们就用三元表达式判断赋予样式,如下点击方法

changeTab(index) { //nabbar栏点击切换
				// if (this.currentIndex === index) return
				this.currentIndex = index
				// this.scrollinto = 'tab' + index
				// if (this.currentIndex < 10) {
				// 	this.scrollinto = 'tab0'
				// }
			},

如下是绑定的点击事件和三元表达式判断赋予样式,其中背景样式提前写好了

<view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" 
	:class="currentIndex==index?'active':''" @click="changeTab(index)">
	{{item}}
</view>

不过现在只实现了通过点击样式发生改变,感觉实现了tab切换,眼下要解决点击时tab这个导航条也要自己滚动起来,不能一边手动滚动,然后再点击吧

3.scroll-into-view

使用scroll-into-view,实现点击时自动滚动

使用它的目的主要是,在点解tab时可以实现,你向那个方向点,他就往那个方向滚动,不过在点回去的时候,就有坑了,需要对其作出判断

阅读文档很难理解对吧,我在这里说说我的理解,这里是想要我们通过在scroll-view中属性scroll-into-view绑定一个元素,此元素还要获得id,此id还不能已数字开头,此id就是移动的关键,需要绑定,所遍历内容的索引,从而实现往哪里滚动,不过想点回去就需要进行判断

如下代码中在scroll-view,使用scroll-into-view绑定了一个自己定义的空元素scrollinto

在v-for遍历后获得了索引,id就通过索引进行了绑定,拼接了以tab开头

<scroll-view scroll-x="true" class='scroll-view-t' :scroll-into-view="scrollinto">
			<view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" 
			:class="currentIndex==index?'active':''" @click="changeTab(index)">
				{{item}}
			</view>
</scroll-view>

实现点击滚动很简单,要滚动回去就要判断了,如下代码,只要当前的this.scrollinto = 'tab' + index就能实现点击就滚动,回去是就要判断当前点击的缩影,手动赋值,给一个最好的区间,这样效果更好

changeTab(index) { //nabbar栏点击切换
				if (this.currentIndex === index) return
				this.currentIndex = index
				this.scrollinto = 'tab' + index
				if (this.currentIndex < 10) {
					this.scrollinto = 'tab0'
				}
			},

到此这篇关于微信小程序实现tab组件切换动画的文章就介绍到这了,更多相关小程序tab组件切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 返回上一个url并刷新界面的js代码

    返回上一个url并刷新界面的js代码

    要返回上一页再刷新页面我们用到最多的是在像php,asp,jsp,asp.net中,下面我来给大家先介绍js 返回前一页并刷新页面,然后再把这些代码放在php中实现删除后返回当前页面并刷新页面
    2020-09-09
  • 微信小程序开发自定义tabBar实战案例(定制消息99+小红心)

    微信小程序开发自定义tabBar实战案例(定制消息99+小红心)

    一定的需求情况下无法使用小程序原生的tabbar的时候,需要自行实现一个和tabbar功能一模一样的自制组件,下面这篇文章主要给大家介绍了关于微信小程序开发自定义tabBar(定制消息99+小红心)的相关资料,需要的朋友可以参考下
    2022-12-12
  • 基于ajax和jsonp的原生封装(实例)

    基于ajax和jsonp的原生封装(实例)

    下面小编就为大家带来一篇基于ajax和jsonp的原生封装(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • JS实现图片切换特效

    JS实现图片切换特效

    这篇文章主要为大家详细介绍了JS实现图片切换特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • javascript实现检验的各种规则

    javascript实现检验的各种规则

    这篇文章主要介绍了javascript实现检验的各种规则,涉及javascript针对手机号、邮箱、网址、汉字及图片等相关检测技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 浅谈TypeScript的类型保护机制

    浅谈TypeScript的类型保护机制

    这篇文章主要介绍了浅谈TypeScript的类型保护机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • zepto.js 实时监听输入框的方法

    zepto.js 实时监听输入框的方法

    今天小编就为大家分享一篇zepto.js 实时监听输入框的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 百度空间的popup效果分析

    百度空间的popup效果分析

    自从用firefox浏览器以来,就几乎养成了一个习惯,就想用WebDeveloper把一些漂亮网站的js包括css给down下来分析一下,用来学习。
    2008-10-10
  • JS实现网页表格自动变大缩小的方法

    JS实现网页表格自动变大缩小的方法

    这篇文章主要介绍了JS实现网页表格自动变大缩小的方法,实例分析了javascript操作表格的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • javascript设计模式 – 外观模式原理与用法实例分析

    javascript设计模式 – 外观模式原理与用法实例分析

    这篇文章主要介绍了javascript设计模式 – 外观模式,结合实例形式分析了javascript外观模式基本概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04

最新评论