微信小程序实现滑动切换自定义页码的方法分析
2019-01-23 12:21
1856 查看
本文实例讲述了微信小程序实现滑动切换自定义页码的方法。分享给大家供大家参考,具体如下:
效果如下:
这里三个图片使用了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 }); },
希望本文所述对大家微信小程序开发有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 微信小程序实现动态获取元素宽高的方法分析
- 微信小程序滚动Tab实现左右可滑动切换
- 微信小程序实现页面跳转传值以及获取值的方法分析
- 微信小程序 按钮滑动的实现方法
- 微信小程序数据分析之自定义分析的实现
- 微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
- 微信小程序滚动Tab实现左右可滑动切换
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
- 微信小程序自定义toast实现方法详解【附demo源码下载】
- 微信小程序实现自定义modal弹窗封装的方法
- 微信小程序 --- 10行代码实现滑动tab切换
- button组件、 onShareAppMessage 方法实现 —— 自定义传参 —— 微信小程序
- 微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
- Android编程实现ViewPager多页面滑动切换及动画效果的方法
- Android Scroll分析(三)实现滑动的终极方法(ViewDragHelper)
- 千变万化的ViewPager切换动画(三、自定义ViewPager的实现方法)
- 微信小程序 监听手势滑动切换页面
- 微信小程序-外卖选购页实现切换分类与数量加减
- Android中实现仿微信界面切换平滑滑动效果
- 自定义ViewGroup实现纵向滑动切换的ViewPager