移动端关于全屏滚动监听的问题

如题:根据我的问题标签大家就能明白,这又是掉进设备兼容的坑了(|_|)^
需求是一个页面上有个头部。在滚动高度为0(默认情况下)是吸顶显示的,当上拉或者下拉(触发滚动,并滚动一定距离的时候),头部根据值来显示或隐藏。我直接用的监听页面滚动事件的方法:

window.addEventListener('scroll',function(){//实时监听滚动
          window.scrollY >=h?vm.headShow = true:vm.headShow = false;//高度大于或等于h,头部隐藏
        })

在android上ok,在ios上就出现了问题,手指滑动的时候,并不触发监听,在手指离开的时候,才触发,并判断滚动条件...。
请教一下大家有没有什么方法可以解决,或者插件也可以
解决方式:

window.onload = function () {
            var u = navigator.userAgent;
            if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//安卓手机
                window.addEventListener('scroll',function(){
                  window.scrollY >=h?vm.headShow = true:vm.headShow = false;
                })
            } else if (u.indexOf('iPhone') > -1) {//苹果手机
                var startY = '';
                window.addEventListener('touchstart', function (e) {
                    startY = e.touches[0].pageY
                })
                window.addEventListener('touchmove', function (e) {
                    var endY = e.changedTouches[0].pageY;
                    var cy = endY-startY;
                    if(cy>=0){
                        vm.headShow = false;
                    }else if(cy<0){
                        cy <-h?vm.headShow = true:vm.headShow = false;
                    }
                }, false)

            }
        }
阅读 4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题