swiper没有这个功能:小程序竖向swiper滚动到底部,再往下拉判断到底的功能。 本妹子为了完成“下拉到底就弹框”的业务,想了下面的办法,给小伙伴们分享下。
给 swiper 添加 transition , swiper-item 的位置发生改变时会触发 transition 事件,并获得 x、y 轴改变的指, event.detail = {dx: dx, dy: dy} 。然后将改变值存入数组中,当改变值为 0 ,而且数组的最后一位数有值时,则判断到底了。
wxml:
<swiper bind:transition="_transition">
<block wx:for="" wx:for-item="item" wx:for-index="idx" wx:key="activityId">
<swiper-item">
<view>test</view>
</swiper-item>
</block>
</swiper>
js:
//存储y轴改变值
this.dyAry=[];
//eventhandle swiper-item 的位置发生改变时会触发
_transition(e) {
if (this.lastData) {
let dy = e.detail.dy;
//如果到底部还继续往下拉,这弹出提示框
if (dy == 0 && this.dyAry[this.dyAry.length - 1] > 0) {
this.dyAry = [];
wx.toast('swpier都看完啦')
}
this.dyAry.push(dy)
}
}
原文 https://raoenhui.github.io/wechat/2019/12/31/swiper/
onPullDownRefresh 监听该页面用户下拉刷新事件 需要在 pages.json 里 开启 enablePullDownRefresh,当处理完数据刷新后,uni.stopPullDownRefresh 可以停止当前页面的下拉刷新
实现的原理是通过获取①获取滚动条当前的位置②获取当前可视范围的高度 ③获取文档完整的高度 ;(一)获取滚动条当前的位置 ;(二)获取当前可视范围的高度
微信h5页面下拉露出网页来源的解决办法:将document的touchmove事件禁止掉,备注:要加上 passive: false,不然会出现以下报错
移动端禁止下拉 露出网址或广告;目前自测安卓 微信内、uc、小米浏览器 效果都不错。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!