小程序 swiper 渲染层为啥有个div

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序 swiper 渲染层为啥有个div相关的知识,希望对你有一定的参考价值。

参考技术A 使用Swiper组件的时候,会发现有个问题,Swiper的高度不能无限制往下拉,就会出现div,必须给予固定高度,这就导致了用户浏览体验差。

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

最近做一个项目,由于用到了竖向swiper,导致占用屏幕过大,用户滑动总是滑动到swiper组件,页面无法向下拉动,于是找各种办法禁止用户手动滑动swiper组件。

经过网上一番查找,网友们也是闹洞大开,各种方法都想出来了,有用透明蒙层覆盖的,这不失为一种很好的解决办法,但是如果swiper上有元素需要点击就没有办法了。

继续查找,于是找到了用  catchtouchmove  事件来截获用户手动滑动事件,这样既解决了禁用用户手动滑动,有解决了有点击按钮不影响使用

贴代码:

WXML:

<swiper class=‘yaohe‘ vertical=‘true‘ circular=‘true‘ autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
    <block wx:for=‘{{yaohe}}‘>
      <swiper-item catchtouchmove=‘catchTouchMove‘>   <!--重点这里-->
        <block wx:for=‘{{item}}‘>
          <view class=‘yaohe_item‘>
            <view class=‘yaohe_img‘>
              <image src=‘{{item.goods_icon}}‘></image>
            </view>
            <view class=‘yaohe_right‘>
              <view class=‘yaohe_text‘>{{item.goods_feature}}</view>
              <view class=‘boss_price‘>
                <view class=‘boss‘>{{item.shop_name}}</view>
                <view class=‘price‘ bindtap=‘goGoodsDetail‘ data-shop_goods_id=‘{{item.shop_goods_id}}‘>¥{{item.goods_price}}</view>
              </view>
            </view>
          </view>
        </block>
      </swiper-item>
    </block>
  </swiper>

 

 

JS:

// 截获竖向滑动
  catchTouchMove:function(res){
    return false
  }

以上是关于小程序 swiper 渲染层为啥有个div的主要内容,如果未能解决你的问题,请参考以下文章

写小程序的一些小坑

小程序--swiper轮播图组件

uni-app swiper数量过多时卡顿优化方案,微信小程序swiper优化

微信小程序_(视图)简单的swiper容器

微信小程序(九)实现首页代码

如何用微信小程序模仿豆瓣首页