本文主要是介绍小程序 - wx.pageScrollTo安卓手机上滚动异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
官方文档 wx.pageScrollTo(Object object)
该效果在微信开发者工具的模拟器,苹果手机上都正常滚动;但是在安卓手机上看不到正常的滚动效果,我见到过的bug有
- 从当前位置,滚动到最顶部,再滚动到指定位置
- 滚动到指定距离的偏差大
如果只达到指定距离,而忽略滚动效果,可以在安卓手机上避免这样的bug出现,只需要把duration设置为0(直接跳到指定位置)
代码如下:
wx.pageScrollTo({scrollTop: 100,duration: 0
})
也可以针对安卓、苹果做不同的处理(仅苹果出现滚动效果)。此时需要获取用户设备信息,官方文档 wx.getSystemInfo(Object object),主要使用到system属性
封装公共代码:
systemType () {let systemType = ''wx.getSystemInfo({success: (res) => {let system = res.systemif (system.indexOf('iOS') >= 0)systemType = 'iOS'elsesystemType = 'Android'}})return systemType
}
在涉及滚动操作的地方执行以下代码:
let systemType = this.systemType()if (systemType === 'iOS') {wx.pageScrollTo({scrollTop: this.data.recommend_talk_top})
}
else {wx.pageScrollTo({scrollTop: this.data.recommend_talk_top,duration: 0})
}
注意:在切换tab栏时,应先设置tab栏当前索引值,在执行滚动
selectTab (event) {let index = event.currentTarget.dataset.indexlet article_tab_top = this.data.recommend_talk_topthis.setData({at_index: index,})wx.pageScrollTo({scrollTop: recommend_talk_top,duration: 0})
},
这篇关于小程序 - wx.pageScrollTo安卓手机上滚动异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!