h5滑动底部兼容安卓

简介: h5滑动底部兼容安卓

h5滑动底部兼容安卓

原代码

const handleScroll = () => {
   
  const scrollHeight = document.documentElement.scrollHeight; // 文档高度
  const scrollTop = document.documentElement.scrollTop; // 滚动条距离顶部距离
  const clientHeight = document.documentElement.clientHeight; // 可见区域高度

  if (scrollTop + clientHeight >= scrollHeight - 10) {
   
    // 拉到底部,执行相应的操作
    setisBottom(false)
  }
};

在安卓手机上,通过document.documentElement.scrollTop的方式获取滚动条距离顶部的距离可能会出现问题,因为不同的浏览器在处理滚动条操作时可能存在差异。

为了兼容安卓手机,你可以使用document.documentElement.scrollTop || document.body.scrollTop来获取滚动条距离顶部的距离。这样在安卓手机上,如果document.documentElement.scrollTop无效,就会使用document.body.scrollTop来获取滚动条的位置。

修复

const handleScroll = () => {
   
  const scrollHeight = document.documentElement.scrollHeight; // 文档高度
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 滚动条距离顶部距离
  const clientHeight = document.documentElement.clientHeight; // 可见区域高度

  if (scrollTop + clientHeight >= scrollHeight - 10) {
   
    // 拉到底部,执行相应的操作
    setisBottom(false)
  }
};
目录
相关文章
|
6月前
|
Web App开发 移动开发 小程序
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,显示“网络不给力,请稍后再试”,预发内网版本不能使用,线上版本可以正常使用,这个是什么原因啊,是某些参数没有配置吗,还是说是一些参数改错了?
107 2
|
6月前
|
JavaScript Android开发
使用贝叶斯曲线滑动安卓屏幕(autojsPro7)
使用贝叶斯曲线滑动安卓屏幕(autojsPro7)
232 0
|
3月前
|
Android开发
Android使用ViewPager做无限轮播,人为滑动时停止
Android使用ViewPager做无限轮播,人为滑动时停止
75 2
|
4月前
|
Android开发
Android仿高德首页三段式滑动
Android仿高德首页三段式滑动
134 0
|
5月前
|
编解码 Android开发
Android 解决TextView多行滑动与NestedScrollView嵌套滑动冲突的问题
Android 解决TextView多行滑动与NestedScrollView嵌套滑动冲突的问题
89 0
|
5月前
|
XML Android开发 UED
|
6月前
|
Android开发
Android使用ViewPager实现图片轮播系列之三:手动滑动 + 左右箭头(1)
Android使用ViewPager实现图片轮播系列之三:手动滑动 + 左右箭头(1)
|
6月前
|
移动开发 jenkins 持续交付
jenkins编译H5做的android端编译卫士app记录
jenkins编译H5做的android端编译卫士app记录
48 0
|
6月前
|
存储 移动开发 JavaScript
比较H5开发与安卓开发
比较H5开发与安卓开发
101 2
|
6月前
|
Android开发 Kotlin 索引
Android Compose——ScrollableTabRow和LazyColumn同步滑动
Android Compose——ScrollableTabRow和LazyColumn同步滑动
311 0