微信小程序(十二)实现首页左右上下滑动项目界面

微信小程序(十二)实现首页左右上下滑动项目界面,第1张

swiper

查询节点信息的对象。

wxcreateSelectorQuery

返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 thiscreateSelectorQuery() 来代替。

在当前页面下选择第一个匹配选择器 selector 的节点。返回一个 NodesRef 对象实例,可以用于获取节点信息。

在当前页面下选择匹配选择器 selector 的所有节点。

NodesRefboundingClientRect

添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。

function callback

回调函数,在执行 SelectorQueryexec 方法后,节点信息会在 callback 中返回。

执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。

前几天小程序上线,用真机进行测试的时候,有的手机会出现如下情况

第一判断,就是有的元素超出了正常宽度,但是怎么检查,也没检查出来,随后想,既然page标签的宽度是100%,那么只要里边再套个标签,也设为100%,让外层两个标签的宽度一样,不就行了吗,然后再设个overflow。如下图。

完美解决。

学小程序时写过一个B站demo,也遇到此问题,最后自定义Swiper的Dot来实现了。

思路是:用view组件重写dot,给swiper组件绑定bindchange事件用来获取当前第几个dot,动态改变class。

<!-- 滚动广告 begin -->

<view class="slider-wrapper">

<swiper bindchange="swiperChange" indicator-dots="{{indicatorDots}}"

autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">

<block wx:for="{{imgUrls}}" wx:key="this">

<swiper-item>

<image src="{{item}}" class="slide-image"/>

</swiper-item>

</block>

</swiper>

<view class="swipe-btn-wrapper">

<view class="swipe-btn-list">

<view class="{{dotsClass[0]}}"></view>

<view class="{{dotsClass[1]}}"></view>

<view class="{{dotsClass[2]}}"></vi

微信小程序的滑动事件是通过bindtouchmove实现的,通过比较滑动事件前后的坐标判断滑动方向,微信小程序通过三个事件共同作用实现了触摸滑动事件,即 bingtouchstart、bindtouchmove 和 bindtouchend 事件。

WXML:

<view class='btn' bindtouchstart='touchStart' bindtouchmove='touchMove' bindtouchend='touchEnd'>

OK

</view>

JS:

data: {

touchS : [0,0],

touchE : [0,0]

},

touchStart: function(e){

// consolelog(etouches[0]pageX)

let sx = etouches[0]pageX

let sy = etouches[0]pageY

thisdatatouchS = [sx,sy]

},

touchMove: function(e){

let sx = etouches[0]pageX;

let sy = etouches[0]pageY;

thisdatatouchE = [sx, sy]

},

touchEnd: function(e){

let start = thisdatatouchS

let end = thisdatatouchE

consolelog(start)

consolelog(end)

if(start[0] < end[0] - 50){

consolelog('右滑')

}else if(start[0] > end[0] + 50){

consolelog('左滑')

}else{

consolelog('静止')

}

},

在 touchstart 时,监听到触摸开始时的 (x, y)位置;在 touchMove 方法中持续监听触摸点的位置(x, y),并保存在 data 中;在 touchEnd 方法中对开始的触摸位置和结束的触摸位置进行判断,如果移动距离大于 50 则判定为发生触摸滑动事件。

在上面示例中,当 X 轴方向的移动超过 50 时即判定为左滑或右滑,相应的也可以通过判断 Y 轴方向的滑动长度,来判断上滑或是下滑,由此实现触摸滑动的功能。

更多信息联系我的微

以上就是关于微信小程序(十二)实现首页左右上下滑动项目界面全部的内容,包括:微信小程序(十二)实现首页左右上下滑动项目界面、微信小程序页面右滑有空白区域、微信小程序滑动右侧滚动轴的时候,左侧的样式怎样跟着改变等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10111972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存