微信小程序实现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 相关文章推荐
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
Mar 26 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
Apr 16 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
js和jquery中获取非行间样式
May 05 jQuery
react native实现往服务器上传网络图片的实例
Aug 07 Javascript
浅谈如何使用webpack构建多页面应用
May 30 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
iSlider手机端图片滑动切换插件使用详解
Dec 24 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
Nov 05 Javascript
vue实现Toast组件轻提示
Apr 10 Vue.js
微信小程序实现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 生成短网址原理及代码
2014/01/23 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
Yii使用技巧大汇总
2015/12/29 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[03:48]大碗DOTA
2019/07/25 DOTA
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
python3 线性回归验证方法
2019/07/09 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
在校生钳工实习自我鉴定
2013/09/19 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
安踏广告词改编版
2014/03/21 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
团委工作总结2015
2015/04/02 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript