小程序实现满屏上下滑动效果
写的时候发现网上没有好用的,要么过于复杂,要么不太实用,我就自己整了个简单的
直接上代码部分
//wxml部分
<swiper indicator-dots="true" indicator-color="green" indicator-active-color="red" autoplay="true" interval="5000" duration="1000" circular="true" vertical="true">
<swiper-item wx:for="{{images}}">
<image src="{{item}}" mode="scaleToFill"></image>
</swiper-item>
</swiper>
下面是js部分,大部分都是自动生成的函数,只要在data里面存放地址就行,其他的可以不用管
// pages/template/templatejs
Page({
/
页面的初始数据
/
data: {
images: ["/pages/template/images/1png","/pages/template/images/2png","/pages/template/images/3png","/pages/template/images/4png"]
},
/
生命周期函数--监听页面加载
/
onLoad: function (options) {
},
/
生命周期函数--监听页面初次渲染完成
/
onReady: function () {
},
/
生命周期函数--监听页面显示
/
onShow: function () {
},
/
生命周期函数--监听页面隐藏
/
onHide: function () {
},
/
生命周期函数--监听页面卸载
/
onUnload: function () {
},
/
页面相关事件处理函数--监听用户下拉动作
/
onPullDownRefresh: function () {
},
/
页面上拉触底事件的处理函数
/
onReachBottom: function () {
},
/
用户点击右上角分享
/
onShareAppMessage: function () {
}
})
效果图
iphone5表现效果
在这里插入描述
iphone 12/13 Pro Max表现效果
在这里插入描述
本人前端一般般,可能会有问题,仅供参考
如果在微信小程序重新登录页面不能滑动,可能是以下原因导致的:
1 小程序问题:有时候小程序本身会出现一些问题,例如界面卡顿或者无法滑动等。这种情况下可以尝试退出当前小程序并重新进入。
2 网络问题:如果网络连接不稳定或者速度较慢,也可能会导致小程序无法正常运行。建议检查网络连接是否正常,并尝试切换到其他网络环境中再次尝试。
3 手机系统版本过低:如果你使用的手机系统版本过低,则可能会影响到微信小程序的运行和显示效果。建议更新手机系统至最新版本后再次尝试。
4 其他未知原因:如果以上方法都无法解决问题,请联系微信客服寻求帮助。
总之,在遇到微信小程序登陆页面不能滑动的情况下,首先需要排除掉上述几个方面的问题,并根据具体情况采取相应措施来解决。
微信小程序的滑动事件是通过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 轴方向的滑动长度,来判断上滑或是下滑,由此实现触摸滑动的功能。
更多信息联系我的微
组件说明:
picker:
滚动选择器,现支持三种选择器,通过mode属性来区分,分别是普通选择器(mode = selector),时间选择器(mode = time),日期选择器(mode = date),默认是普通选择器。
在H5中,当把页面向上滑动时,可以发起ajax请求动态加载数据。在小程序中可以么实现么
目前在文档中,只看到有向下拉实现动态加载数据的组件
可以bindscrolltoupper是滚动到顶部/左边事件,bindscrolltolower滚动到底部/右边事件
利用"onPullDownRefresh"和"onReachBottom"方法
在js文件里直接写"onPullDownRefresh"和"onReachBottom"方法即可;
微信小程序页面滑到到底部,继续上拉跳转到其他界面:
以下方法不可行:
1实现这功能不能用onReachBottom,onReachBottom只有页面滑到到底部才触发,继续上拉无法再触发onReachBottom;
2如果界面上包含其他内容,底部是列表,界面绑定页面下拉刷新方法,这种情况也不能使用scroll-view的上拉加载更多方法,会导致页面下拉和列表srcoll-view下拉2个事件冲突,触发不灵敏
解决办法:
首页上监听 touchmove,然后首页加载完的时候查询一下整个页面的高度。touchmove的时候判断已经是到底了,就跳转A页面呗。不过需要注意会触发多次,注意过滤
从人性化角度考虑,这种刷新后跳到开头的行为是符合大多数人的习惯的。如果你一定要回到刷新时的原位置,可以先利用Page的onPageScroll事件记录当前屏幕的scrollTop数值,在刷新完毕后再利用wxpageScrollTo方法返回所记录的位置。
以上就是关于ios微信小程序上下滑动效果全部的内容,包括:ios微信小程序上下滑动效果、微信小程序重新登陆页面不能滑动、手机小程序滑动返回是什么事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)