如题:根据我的问题标签大家就能明白,这又是掉进设备兼容的坑了(|_|)^
需求是一个页面上有个头部。在滚动高度为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)
}
}