微信小程序swiper禁止手动滑动

本文介绍如何在Swiper-item中禁用竖向滑动功能,避免误操作。通过在swiper-item中添加catchtouchmove='catchTouchMove'属性,并在JS中添加相应代码实现。具体步骤及代码示例可在文中查看。

做了个中奖的公告栏 滚动 不小心就点到滑动,如图

在这里插入图片描述

不符合需求,所以需要禁掉,下面是步骤,想看上面那个怎么做的请移步我的另一篇文章
传送门: https://blog.youkuaiyun.com/AIB_Kasic/article/details/99682428

禁止

  1. 在 swiper-item 中添加 catchtouchmove='catchTouchMove'
  2. 在js 中添加代码↓
// 截获竖向滑动
 catchTouchMove:function(res){
   return false
 },
微信小程序中,实现对 `swiper` 组件向右滑动的控制可以通过以下几种方式来完成: ### 1. 通过按钮控制手动切换滑块 可以使用按钮来手动控制 `swiper` 组件切换到右侧的滑块。具体实现方式是通过 `current` 属性动态更新当前滑块的索引。例如: ```javascript Page({ data: { swiperCurrent: 0, // 当前 swiper 索引 swiperList: ['img1.jpg', 'img2.jpg', 'img3.jpg'] // 滑块列表 }, // 向右滑动 nextSwiper() { const { swiperCurrent, swiperList } = this.data; const nextIndex = (swiperCurrent + 1) % swiperList.length; this.setData({ swiperCurrent: nextIndex }); } }); ``` 在 WXML 文件中绑定按钮事件和 `swiper` 的 `current` 属性: ```html <swiper current="{{swiperCurrent}}" class="swiper-box"> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> <button bindtap="nextSwiper">向右滑动</button> ``` ### 2. 自动滑动并控制方向 `swiper` 组件支持自动滑动功能,通过 `autoplay` 属性可以实现自动向右滑动的效果。例如: ```html <swiper autoplay interval="3000" class="swiper-box"> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> ``` 通过设置 `interval` 属性可以控制滑动的时间间隔(单位为毫秒),而 `autoplay` 属性为 `true` 时,`swiper` 会自动向右滑动。 ### 3. 通过触摸事件控制滑动 如果需要阻止用户手动滑动,可以通过监听触摸事件来实现控制逻辑。例如,在按钮上监听触摸事件,并动态修改 `autoplay` 属性: ```javascript Page({ data: { autoplay: true }, // 触摸开始时阻止自动滑动 catchtouchstart() { this.setData({ autoplay: false }); }, // 触摸结束时恢复自动滑动 touchend() { this.setData({ autoplay: true }); } }); ``` 在 WXML 文件中绑定触摸事件: ```html <swiper autoplay="{{autoplay}}" class="swiper-box"> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> <button catchtouchstart="catchtouchstart" catchtouchend="touchend">手动滑动控制</button> ``` ### 4. 显示多个滑块并控制滑动方向 通过 `display-multiple-items` 属性可以同时显示多个滑块,并结合 `next-margin` 和 `previous-margin` 属性控制滑动的样式。例如: ```html <swiper display-multiple-items="3" next-margin="60rpx" previous-margin="60rpx" class="swiper-box"> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> ``` 此配置可以同时显示多个滑块,并且滑动时会显示相邻滑块的部分区域。 ### 5. 循环滑动 通过 `circular` 属性可以实现首尾相接的循环滑动效果,使滑块在向右滑动时无缝衔接: ```html <swiper circular class="swiper-box"> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值