微信小程序实现tab和swiper切换结合效果


Posted in Javascript onJuly 17, 2020

本文实例为大家分享了小程序实现tab和swiper切换效果展示的具体代码,供大家参考,具体内容如下

先上效果图:

微信小程序实现tab和swiper切换结合效果

实现代码如下:

wxml页面

<scroll-view scroll-x="true" class="weui-navbar">
 <block wx:for-items="{{tabs}}">
 <view id="{{index}}" class="{{activeIndex == index ?'item_on':''}} default-item" bindtap="tabClick" style="width:{{tabW}}px">
 {{item}}
 </view>
 </block>
 <view class="weui-navbar-slider" style="transform:translateX({{slideOffset}}px);"></view>
</scroll-view>
<view class="rec" />
<swiper current="{{activeIndex}}" class="swiper-box" duration="100" bindchange="bindChange">
 <swiper-item class="swiper-item">
 <view class="slide-view">tab0</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab1</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab2</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab3</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab4</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab5</view>
 </swiper-item>
 <swiper-item class="swiper-item">
 <view class="slide-view">tab6</view>
 </swiper-item>
</swiper>

wxss样式:

page {
 height: 100%;
}
view , scroll-view{
 padding: 0px;
 margin: 0px;
}
.weui-navbar{
 width: 100%;
 position: fixed;
 border-bottom: 1px solid #00bba1;
 box-sizing: border-box;
 white-space: nowrap; 
 z-index: 100;
 background: white;
}
.rec{
 width: 100%;
 height: 7%;
}
.weui-navbar .default-item{
 /*width:25%;*/
 display: inline-block;
 text-align: center;
 font-size: 32rpx;
 box-sizing: border-box;
 height: 7%;
 padding-bottom: 20rpx;
}
.weui-navbar .item_on{
 color: #00bba1;
}
.weui-navbar-slider{
 position: absolute;
 width: 160rpx;
 height: 2px;
 content:"";
 background: #00bba1;
 bottom: 0px;
 left: 12.5rpx;
 transition: transform .3s;
}
.swiper-box{
 height: 900px;
 border-bottom: 1px solid #d1d1d1;
}
.swiper-box .swiper-item{
 text-align: center;
 padding-top: 200rpx;
 height: 100%;
}

js代码:

//index.js
//获取应用实例
var app = getApp();
var mtabW;
Page({
 data: {
 tabs:["综合与绘画","艺术喷漆","泥塑","纸面绘画","布面绘画","中国油画","水墨画"],
 activeIndex:0,
 slideOffset:0,
 tabW:0
 },
 //事件处理函数
 onLoad: function () {
 var that = this;
 wx.getSystemInfo({
  success: function (res) {
  mtabW = res.windowWidth / 4; //设置tab的宽度
  that.setData({
   tabW:mtabW
  })
  }
 });

 },
 bindViewTap: function() {
 wx.navigateTo({
 url: '../logs/logs'
 })
 },
 tabClick:function(e){
 var that = this;
 var idIndex = e.currentTarget.id;
 var offsetW = e.currentTarget.offsetLeft; //2种方法获取距离文档左边有多少距离
 this.setData({
 activeIndex:idIndex,
 slideOffset:offsetW
 });
 },
 bindChange:function(e){
 var current = e.detail.current;
 if((current+1)%4 == 0){

 }
 var offsetW = current * mtabW; //2种方法获取距离文档左边有多少距离
 this.setData({
  activeIndex:current,
  slideOffset:offsetW
 });

 }

})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript js cookie的存储,获取和删除
Dec 29 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
Apr 30 Javascript
jqGrid读取选择的多行的某个属性代码
May 18 Javascript
js/jquery判断浏览器类型的方法小结
May 12 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
Angular.JS中select下拉框设置value的方法
Jun 20 Javascript
聊聊Vue.js的template编译的问题
Oct 09 Javascript
webpack多页面开发实践
Dec 18 Javascript
基于JavaScript获取base64图片大小
Oct 18 Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
Sep 16 Javascript
js实现简单商品筛选功能
Feb 02 Javascript
微信小程序实现tab切换效果
Nov 21 #Javascript
jQuery实现所有验证通过方可提交的表单验证
Nov 21 #jQuery
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 #Javascript
值得收藏的vuejs安装教程
Nov 21 #Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 #jQuery
jquery ajaxfileupload异步上传插件
Nov 21 #jQuery
Vue + Vue-router 同名路由切换数据不更新的方法
Nov 20 #Javascript
You might like
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
PHP引用返回用法示例
2016/05/28 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
大队委竞选演讲稿
2014/04/28 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
离婚案件上诉状
2015/05/23 职场文书
校运会通讯稿
2015/07/18 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技