为了账号安全,请及时绑定邮箱和手机立即绑定

Android上scrollTop为0

Android上scrollTop为0

拉丁的传说 2018-09-13 13:35:08
正常情况下,没有设置body的"overflow":"auto":document.body.onscroll事件触发,document.body.scrollTop的值随滚动条下拉变化,但是$(document.body).scroll()事件不能触发。当设置:$('html').css({"height":"100%","overflow":"auto"});$('body').css({"height":"100%","overflow":"auto"});`后,$(document.body).scroll()事件可以触发,但是document.body.onscroll事件不能触发,且在scroll()函数中,取得的document.body.scrollTop的值,一直为0。如何,才能在设置body的"overflow":"auto"后,还能使得document.body.scrollTop的取值不是一直为0?换而言之,就是在jQuery的scroll()事件下,scrollTop的取值一直为0.这个bug怎么解决?
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

错误一:在jQuery的scroll事件下,scrollTop是可以取到值的。但是不能把body和HTML的height设置成100%,这样就没有问题了;
错误二:在没有设置body和html的overflow为auto或scroll时,$(body)的scroll事件不会触发,但是其$(window).scroll事件是可以触发的。
要触发一个元素的$().scroll事件,必须把其overflow设置成auto或scroll。但是,此时,原声的document.body.onscroll 事件就触发不了了。

https://img1.sycdn.imooc.com//5bc69a640001d79d05460541.jpg

查看完整回答
反对 回复 2018-10-17
  • 1 回答
  • 0 关注
  • 1048 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信