在小程序的开发过程中,有个功能是点击后需要往view层中添加数据内容,在添加后需要将内容滚动到最下面一条,以便有更好的用户体验。
开始是选择了使用wx.pageScrollTo接口,通过获取当前view层的高度来动态的调整pageScrollTo中的scrollTop值

wx.createSelectorQuery().select('.newsContent').boundingClientRect(function (rect) {// 使页面滚动到底部wx.pageScrollTo({scrollTop: rect.height,duration:1500})
}).exec()

到目前一切看起来好像很ok,但是。。。
在部分安卓机型中,例如华为等机型会在滚动的时候,触发一下拉刷新,也就是说,在触发wx.pageScrollTo之后,会先滚动到最顶端,触发刷新,再从最顶端滚动到我们需要的位置。(这是十分影响用户体验的,整体效果非常差)

在iphone机型中,在触发wx.pageScrollTo时,如果页面中有fixed定位的元素,定位的元素会跟随页面滚动,再回到位置上

这个问题非常的折磨人,因为pageScrollTo这个api不仅有bug这个bug在不同机型环境下竟然还不一样!!!之后我将pageScrollTo的滚动动画时间duration设置为0后,在真机上,都不会出现抖动的问题,因为这个过程其实是直接跳过了,但是直接出来整体的体验也十分糟糕,出现的非常的唐突。

最后,改使用scroll-view

<scroll-view scroll-y class="container" enable-back-to-top="true" style="height: {{windowHeight}}rpx;"  bindscroll="touchclose" scroll-with-animation="true" scroll-top="{{scrollTop}}"><!-- 内容 --><view>-----略------</view>
</scroll-view>

使用scroll-view后可以实现一样的滚动效果,而且是没有抖动的。效果还是比较好的,就我的这个项目来说,用scroll-view的bug要少些,体验要优于pageScrollTo。

ps:关于pageScrollTo的问题,导致安卓和iphone机型不同的原因可能是因为二者小程序运行时候的内核不同,关于该问题的相关的问题解决办法还没有找到比较合适的,小程序社区中有看到有人提出类似问题,但是官方暂时还没有修复pageScrollTo的bug。

微信小程序——日常踩坑(wx.pageScrollTo滚动时有抖动问题)相关推荐

  1. 微信小程序入门踩坑记(妥妥的干货,新手快快看过来)

    初次上手微信小程序,各种踩坑各种百度,草草扫过官网的文字,呃....表示记不住不想看,然后看了一本入门基础, 诺,就这本啦(链接:https://pan.baidu.com/s/15hKlDNpowU ...

  2. 微信小程序开发踩坑合集

    微信搜索:凯小白学编程   回复 小程序   领取1000套小程序源码 本文分享一下开发小程序是遇到的一些问题.展示了曾经开发过的两个小程序中遇到的坑 下一篇文章预告:<Maven入门> ...

  3. 微信小程序开发踩坑日记

    2017.12.29  踩坑记录 引用图片名称不要使用中文,尽量使用中文命名,IDE中图片显示无异样,手机上图片可能出现不显示的情况. 2018.1.5  踩坑记录 微信小程序设置元素满屏,横向直接w ...

  4. 微信小程序开发踩坑经验——小蜗社群

    2019独角兽企业重金招聘Python工程师标准>>> 之前遇到并且解决的坑,这边也渐渐忘记了,在这里就不列出来了-- 1.wx.redirectTo和wx.navigateTo   ...

  5. 微信小程序 NFC 踩坑记录

    需求 读取URL 写入URL 操作流程 一.读取 1. 获取NFC适配器实例 this.NFCAdapter = wx.getNFCAdapter() 2. 开始监听贴卡 this.NFCAdapte ...

  6. 【浙政钉】微信-专有钉钉小程序-开发踩坑实记

    文章目录 ⭐[浙政钉]微信-专有钉钉小程序-开发踩坑实记 ⭐ 创建项目 ⭐ 转化方案 ⭐ 政务钉钉调试 ⭐ 上传发布 ⭐[浙政钉]微信-专有钉钉小程序-开发踩坑实记 最近有个需求,要将微信小程序转为浙 ...

  7. 微信小程序继续入坑指南

    微信小程序继续入坑指南 wxml 类似于html 感觉和ejs灰常的相似 数据绑定 js Page({data: {message: "hello world"} }) wxml ...

  8. 微信小程序从入坑到放弃二十二:完美兼容安卓和ios手机的底部评论框

    摘要: 不管是在普通的H5页面还是在微信小程序中,底部输入框一直是一大难题,因为键盘会在某些情况下遮挡信输入框一部分!值得庆幸的是:在微信小程序中,我们可以通过监听bindfocus来获取键盘的高度, ...

  9. 微信小程序初步入坑指南

    微信小程序初步入坑小指南 安装工具 developers.weixin.qq.com/miniprogram- 打开链接下载小程序云开发 app.json 为json格式的文件,为一个配置文件,属于全 ...

最新文章

  1. 双十一报名截止,决赛在即!AI Challenger2018极客峰会免费抢票!
  2. 一步步构建多层架构系列二之设计模式运用篇
  3. 配置策略路由(PBR)
  4. scale Database
  5. oracle错误12518,ORA-12518: 错误 客户端连接不上
  6. Java后端WebSocket的Tomcat实现(转载)
  7. 如何零基础入门FPGA?这篇文章让你吃透!
  8. 在Spring Boot中使用切面统一处理自定义的异常
  9. 一个判断session是否过期的小技巧
  10. java中的让步_java基本教程之线程让步 java多线程教程
  11. 2020潮流海报设计PNG免抠素材
  12. 阻滞增长模型求解_阻滞增长模型logistic模型.ppt
  13. java 整型常量_使用javap深入理解Java整型常量和整型变量的区别
  14. supervised contrastive learning 解读
  15. MTK 平台TP调试遇坑
  16. 我手机中的舍不得删除的48条笑话,条条经典!! (转自猫扑)
  17. html后代选择器的语法,[转]CSS子选择器与后代选择器
  18. linux运维基础-rpm包校验-rpm包安全修复-rpm覆盖
  19. 移动应用性能测试简介
  20. Bazel build Remote-caching

热门文章

  1. 用Python爬取网易云音乐歌曲
  2. SCI论文及期刊检索
  3. mock模拟导致测试失败的解决方法
  4. C语言学习笔记07-1-语句结构:选择/循环(附三元运算符;DevC可以for定义临时变量的设置;continue、break、return;goto语句简单说明)
  5. STL-源码剖析 简单总结
  6. 微信小程序 日历 课表 源码
  7. 限量300份 | 业内第一本「成体系」的活动执行手册免费发放 ——百格活动
  8. 虚拟机没有网络还没有网络图标!!!
  9. 解决ubuntu下提示未信任的应用启动器的问题
  10. 红队大量资产指纹探测工具和摄像头漏-洞渗-透和利用工具