小程序 - wx.pageScrollTo安卓手机上滚动异常

官方文档 wx.pageScrollTo(Object object)

该效果在微信开发者工具的模拟器,苹果手机上都正常滚动;但是在安卓手机上看不到正常的滚动效果,我见到过的bug有

  1. 从当前位置,滚动到最顶部,再滚动到指定位置
  2. 滚动到指定距离的偏差大

如果只达到指定距离,而忽略滚动效果,可以在安卓手机上避免这样的bug出现,只需要把duration设置为0(直接跳到指定位置)

代码如下:

wx.pageScrollTo({
  scrollTop: 100,
  duration: 0
})

也可以针对安卓、苹果做不同的处理(仅苹果出现滚动效果)。此时需要获取用户设备信息,官方文档  wx.getSystemInfo(Object object),主要使用到system属性

封装公共代码:

systemType () {
  let systemType = ''

  wx.getSystemInfo({
    success: (res) => {
      let system = res.system

      if (system.indexOf('iOS') >= 0) {
        systemType = 'iOS'
      }
      else {
        systemType = '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
  })
}

猜你喜欢

转载自blog.csdn.net/sinat_33184880/article/details/85341884