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


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 相关文章推荐
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 Javascript
Js 弹出框口并返回值的两种常用方法
Dec 30 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
Sep 26 Javascript
node网页分段渲染详解
Sep 05 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
为什么我们要做三份 Webpack 配置文件
Sep 18 Javascript
微信小程序报错:this.setData is not a function的解决办法
Sep 27 Javascript
Vue2.0子同级组件之间数据交互方法
Feb 28 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
简单了解JavaScript arguement原理及作用
May 28 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php实现telnet功能示例
2014/04/08 PHP
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Python 命令行参数sys.argv
2008/09/06 Python
python二分法实现实例
2013/11/21 Python
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
Python os模块学习笔记
2015/06/21 Python
Python实现二维数组输出为图片
2018/04/03 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
xml有哪些解析技术?区别是什么
2016/04/26 面试题
饭店工作计划书
2014/01/10 职场文书
大学毕业寄语大全
2014/04/10 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
2014年后勤工作总结
2014/11/18 职场文书
2014年药房工作总结
2014/11/22 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python