微信小程序模板之分页滑动栏


Posted in Javascript onFebruary 10, 2017

本文实例为大家分享了微信小程序分页滑动栏的具体代码,供大家参考,具体内容如下

功能:

1.分页栏与滑动视图绑定
2.点击分页栏自动滑动到对应视图
3.滑动的到视图对应分页栏自动显示选中样式

效果图

微信小程序模板之分页滑动栏

上代码

wxml

<view class="tapNav">
 <view class="{{tabArr.tabCurrentIndex==0?'active':''}}" data-index="0" bindtap="veHandle">分页标签1</view>
 <view class="{{tabArr.tabCurrentIndex==1?'active':''}}" data-index="1" bindtap="veHandle">分页标签2</view>
 <view class="{{tabArr.tabCurrentIndex==2?'active':''}}" data-index="2" bindtap="veHandle">分页标签3</view>
</view>
<swiper id="swiper" indicator-dots="{{indicatorDots}}"
 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" current="{{current}}" bindchange="swiperChange">
 <block wx:for="{{imgUrls}}">
 <swiper-item id="swiper-item">
  <image id="imgae" src="{{item}}" class="slide-image" width="355" height="150"/>
 </swiper-item>
 </block>

</swiper>

wxss

/*
1.横向排列分页标签
2.每个分页标签各占1/3
*/
.tapNav {
 display: flex;
 flex-direction: row;
}
.tapNav view{
 flex:1;
 width:200rpx;
 height:100rpx;
 text-align: center;
 line-height: 100rpx;
 font-family: "微软雅黑";
}
/*选中样式*/
.tapNav .active {
 color:blue;
 border-bottom:4rpx solid mediumseagreen;
}
#swiper {
 margin-top:40rpx;
}
#swiper image{
 width:100%;
}

js

//index.js
//获取应用实例
var app = getApp()
Page({
 data: {
 // 图片地址
 imgUrls: [
  'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
  'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
  'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
 ],
 //是否显示面板指示点
 indicatorDots: true,
 //自动播放
 autoplay: true,
 //切换时间间隔
 interval: 2000,
 //滑动时长
 duration: 1000,
 //存放滑动视图的current
 current:0,
 //分页标签class条件判断的值
 tabArr:{
  tabCurrentIndex:0
 }
 },
 //事件处理函数
 //触摸分页标签触发事件
 veHandle:function(e){
 //每个分页标签都设置了data-index,触摸触发事件获取此数值
 //用此数值替换滑动视图的current
 //用此数值替换分页标签class判断的值
 console.log(e.target.dataset.index)
 var currentIndex = e.target.dataset.index
 this.setData({
  current:currentIndex,
  "tabArr.tabCurrentIndex":currentIndex
 })
 },
 //通过滑块视图的current改变触发事件
 swiperChange:function(e){
 //获取视图滑块当前的current
 //用此数值替换分页标签的current的值
 console.log(e.detail.current)
 var swiperCurrent = e.detail.current;
 this.setData({
  'tabArr.tabCurrentIndex':swiperCurrent
 })
 },
 onLoad: function () {
 console.log('onLoad')
 }
})

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

Javascript 相关文章推荐
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
Oct 29 Javascript
Jquery下attr和removeAttr的使用方法
Dec 28 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
Mar 04 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
Javascript创建类和对象详解
May 31 Javascript
vue2.x+webpack快速搭建前端项目框架详解
Nov 30 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
vue 中的keep-alive实例代码
Jul 20 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
Aug 22 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
三种方式实现瀑布流布局
Feb 10 #Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 #Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 #Javascript
javascript常用的设计模式
Feb 09 #Javascript
简单实现js选项卡切换效果
Feb 09 #Javascript
原生JS轮播图插件
Feb 09 #Javascript
jQuery页面弹出框实现文件上传
Feb 09 #Javascript
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
Laravel 5框架学习之表单
2015/04/08 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python构建指数平滑预测模型示例
2019/11/21 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
北京天润融通.net面试题笔试题
2012/02/20 面试题
C#公司笔试题
2014/03/28 面试题
介绍一下linux的文件系统
2015/10/06 面试题
体育个人工作总结
2015/02/09 职场文书
预备党员群众意见
2015/06/01 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
php微信小程序解包过程实例详解
2021/03/31 PHP
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server