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


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 相关文章推荐
超棒的javascript页面顶部卷动广告效果
Dec 01 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
jQuery中get和post方法传值测试及注意事项
Aug 08 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
Aug 23 Javascript
ES6记录异步函数的执行时间详解
Aug 31 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
JS实现身份证输入框的输入效果
Aug 21 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 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
PHP模板引擎SMARTY
2006/10/09 PHP
如何用php获取文件名后缀
2013/06/09 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
php Session无效分析资料整理
2016/11/29 PHP
七个很有意思的PHP函数
2014/05/12 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
python绘制封闭多边形教程
2020/02/18 Python
python实现批量修改文件名
2020/03/23 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
办公室主任岗位职责
2013/11/08 职场文书
幼儿园家长评语
2014/02/10 职场文书
应聘英语教师求职信
2014/04/24 职场文书
工作求职自荐信
2014/06/13 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
合作协议书范文
2014/08/20 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书