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

 更新时间:2018年12月29日 14:13:21   作者:yytoo2  
这篇文章主要介绍了微信小程序实现滑动切换自定义页码的方法,结合实例形式分析了微信小程序页码动态切换相关实现技巧与注意事项,需要的朋友可以参考下

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

效果如下:

这里三个图片使用了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
 });
 },

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

相关文章

  • js fromCharCode输出26个字母的代码

    js fromCharCode输出26个字母的代码

    这个代码比较简单主要是用到了fromCharCode的特性
    2008-11-11
  • 如何使用JS中的webWorker

    如何使用JS中的webWorker

    作为浏览器脚本语言,如果JavaScript不是单线程,那么就有点棘手了。比如,与用户交互或者对DOM进行操作时,在一个线程上修改某个DOM,另外的线程删除DOM,这时浏览器该如何抉择呢?
    2021-05-05
  • 将页面table内容与样式另存成excel文件的方法

    将页面table内容与样式另存成excel文件的方法

    本文分析一下将页面table内容与样式另存成excel文件的方法,主要介绍style与class之间的区别问题。
    2015-08-08
  • JS封装的模仿qq右下角消息弹窗功能示例

    JS封装的模仿qq右下角消息弹窗功能示例

    这篇文章主要介绍了JS封装的模仿qq右下角消息弹窗功能,涉及javascript事件响应、页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • js中join()方法举例详解

    js中join()方法举例详解

    这篇文章主要给大家介绍了关于js中join()方法的相关资料,join方法用于把数组中的所有元素放入一个字符串,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 如何改进javascript代码的性能

    如何改进javascript代码的性能

    在web应用中,应用了大量的Javascript,因此代码的执行效率变得尤为重要,也就是性能!为了提高JS的性能,我们应该掌握一些基本的性能优化方式,并让它成为我们书写代码的习惯。下面介绍几种优化性能的方式,很多初学者甚至有经验的开发者也会忽略,希望对你有帮助
    2015-04-04
  • JavaScript原生节点操作小结

    JavaScript原生节点操作小结

    本文主要介绍了JavaScript原生节点操作的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • js实现通过开始结束控制的计时器

    js实现通过开始结束控制的计时器

    这篇文章主要为大家详细介绍了js实现通过开始结束控制的计时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • js实现简单的前端分页效果

    js实现简单的前端分页效果

    这篇文章主要为大家详细介绍了js实现简单的前端分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 详解a++和++a的区别

    详解a++和++a的区别

    搞开发已经很久了,一直搞不懂a++和++a到底有所什么不同,后来通过查阅相关资料总结出一点规律,下面小编通过本文给大家介绍
    2017-08-08

最新评论