$(window).scroll(
function() {
var scrollTop = $(this).scrollTop();
var windowHeight = $(this).height();
var scrollHeight = $(document).height();
if (scrollTop + windowHeight == scrollHeight) {
pageMove = 1
} else if (scrollTop == 0) {
pageMove = -1
}
});
- 发布:2021-01-08 11:08
- 更新:2021-01-11 17:58
- 阅读:731
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10
HBuilderX类型: 正式
HBuilderX版本号: 3.0.5
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: Mate 10 Pro
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
在 Hello uni-app 的本地网页 local.html 里引入 jQuery,放置如上代码
在 Hello uni-app 的本地网页 local.html 里引入 jQuery,放置如上代码
预期结果:
scrollTop 取到正确值
scrollTop 取到正确值
实际结果:
scrollTop 有偏差
scrollTop 有偏差
bug描述:
试了 Hello uni-app 本地网页有同样问题。
放在 web-view 里的 html 页面,部分安卓手机拉到最底取到的 scrollTop 偏小,于是 scrollTop + windowHeight < scrollHeight,没法触底。
目前试过没问题的手机是苹果、一台比较老的锤子:
{"scrollTop":1669,"pageMove":1,"windowHeight":570,"scrollHeight":2239}
试过有问题的手机有华为、魅族、小米、realme:
{"scrollHeight":2240,"scrollTop":1505.6666259765625,"windowHeight":612,"pageMove":0}
jwy (作者)
hello uni-app 就可以试,已上传 hybrid 文件夹,覆盖并运行 app 后前往内置组件-网页-本地网页,触底应有提示,部分安卓手机没有。
2021-01-12 14:13
DCloud_UNI_Anne
回复 jwy: 未复现,能否确定哪个机型必现?并提供机型信息。
2021-01-12 20:46
jwy (作者)
回复 DCloud_UNI_Anne: 试过不行的有华为 Mate 10 Pro、realme x7 pro、红米 7a,还有一台魅族暂时没有型号回头看下。不行的这几台都是全面屏,没问题的那台老锤子是有实体触摸键的,不确定跟这个有没关系。谢谢。
2021-01-13 09:28