微信小程序实现滑动切换自定义页码的方法分析


Posted in Javascript onDecember 29, 2018

本文实例讲述了微信小程序实现滑动切换自定义页码的方法。分享给大家供大家参考,具体如下:

效果如下:

微信小程序实现滑动切换自定义页码的方法分析

这里三个图片使用了swiper组件进行轮播,下方的页码数字1、2、3会随着图片的切换变动位置

在微信小程序中我们是无法操作dom的,那么

var div = document.getElementById('id');
div.setAttribute("class", "className");

这种方式实现。

然后我们可以考虑使用hidden或者wx:if的方式,将三个页码显示的view进行轮流显示/隐藏操作。但是不知道为什么这种方式只支持一次操作

最后,使用了display:none/block来达到影藏/显示状态的切换,这个display是写在wxml文件中的

<view class="bottomView" >
  <view class="bottom1" style="display:{{bottomHidden1}}" >
   <view class="pageCur">
   <text class="textPageCur textFont">{{index+1}}-5</text>    //index是因为上方采用了<block wx:for="{{itemInfor}}" >显示内容,index从0开始计数便是当前下标
   </view>
   <view class="buttomImg">
   <image clss="horImg" mode="top left" src="../img/horizontal.jpg"></image>
   </view>
  </view>
  <view class="bottom2" style="display:{{bottomHidden2}}">
   <view class="pageCur">
   <text class="textPageCur textFont" > {{index+1}}-5</text>
   </view>
   <view class="buttomImg">
    <image clss="horImg" mode="top left" src="../img/horizontal.jpg"></image>
   </view>
  </view>
  <view class="bottom3" style="display:{{bottomHidden3}}">
   <view class="pageCur">
   <text class="textPageCur textFont">{{index+1}}-5</text>
   </view>
   <view class="buttomImg">
    <image clss="horImg" mode="top left" src="../img/horizontal.jpg"></image>
   </view>
   </view>
  </view>

以上这就是页码显示部分,页码的组成包括一个text和一个image(下方白色横线),这个内容嵌套在<swiper-item></swiper-item>

bottomView采用position:fixed的定位方式固定在底部设置高和宽,bottom3、2、1采用position:absolute的方式。需要注意的是,如果在bottomView使用了display:flex,将无法使用position。所以在这一部分未采用flex。但是上面的文字和图片部分采用的是display:flex实现的,这种方式比较简单

在swiper中,绑定了bindchange="swiperChange"方法,用于在页面切换时触发下方页码的变化动作,在js文件中该方法如下:

Page({
 data: {
 bottomHidden1:"block",
 bottomHidden2: "none" ,
 bottomHidden3: "none" ,
 },
 swiperChange:function(event){
 var currentView=event.detail.current;     //此处使用了swiper的bindchange事件带过来的参数current,这个参数从0开始计数,内容为当前页码
 var isHidden1 ="";
 var isHidden2 ="";
 var isHidden3 ="";
 switch (currentView) {
  case 1:
  isHidden1 = "none";
  isHidden2 = "block";
  isHidden3 = "none";
  break;
  case 2:
  isHidden1 = "none";
  isHidden2 = "none";
  isHidden3 = "block" ;
  break;
  case 0:
  isHidden1 = "block";
  isHidden2 = "none";
  isHidden3 = "none";;
  break;
 }
 this.setData({
  bottomHidden1:isHidden1,
  bottomHidden2: isHidden2,
  bottomHidden3: isHidden3
 });
 },

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 Javascript
单击某一段文字改写文本颜色
Jun 06 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
Apr 16 Javascript
javascript显示系统当前时间代码
Dec 29 Javascript
AngularJS实现select的ng-options功能示例
Jul 12 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
JavaScript 数组的进化与性能分析
Sep 18 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
JQuery属性操作与循环用法示例
May 15 jQuery
layui table复选框禁止某几条勾选的实例
Sep 20 Javascript
vue实现分页组件
Jun 16 #Javascript
如何用RxJS实现Redux Form
Dec 29 #Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 #Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 #jQuery
javascript实现计算指定范围内的质数示例
Dec 29 #Javascript
基于vue.js组件实现分页效果
Dec 29 #Javascript
详解Vue.js v-for不支持IE9的解决方法
Dec 29 #Javascript
You might like
Zerg基本策略
2020/03/14 星际争霸
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
div层的移动及性能优化
2010/11/16 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
js数组操作常用方法
2014/05/08 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
2015年依法行政工作总结
2015/04/29 职场文书
婚姻出轨保证书
2015/05/08 职场文书
解约证明模板
2015/06/19 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
详细聊聊vue中组件的props属性
2021/11/02 Vue.js