关于手机微信端内嵌浏览器中scrollTop的奇葩问题
记录一次在微信端打开第三方页面的奇葩问题。
情况说明:
项目中下拉数据量太大,故实现了懒加载
判断是否到底部,方式为scrollTop + height >= scrollHeight,其中大于等于表示滚动到底部需要加载下一页,否则不用加载。
在其他浏览器中此方式能正常使用,但在手机微信端使用时会存在只加载一次的现象。
现象产生原因:
通过排查发现scrollTop 在微信端取得值不是一个int型,而是一个double型,在临界值时(即接近scrollHeight值时),由于是小数无法达到scrollTop + height >= scrollHeight的状态,故导致无法加载下一页。
解决方法:
使用Math.ceil(scrollTop())向上取整