Javascript (移动)如何在滚动期间隐藏导航栏

Javascript (移动)如何在滚动期间隐藏导航栏,javascript,iphone,mobile,scroll,navbar,Javascript,Iphone,Mobile,Scroll,Navbar,我正在做这个: 对于移动设备,我想隐藏导航栏并将其隐藏。 我已经在使用: setTimeout(function () { window.scrollTo(0, 1); }, 500); 但是,要在最初和方向更改时隐藏导航栏,我希望导航栏在滚动期间保持隐藏状态。我希望它能在他们看到导航栏的唯一方式是触摸屏幕顶部的iphone上工作。显然,向下滚动页面时,它已经隐藏得很好了,但是当你向后滚动到页面顶部时,它会显示导航栏,我真的很想把它隐藏起来 我想在触摸端触发它 if (window.scr

我正在做这个: 对于移动设备,我想隐藏导航栏并将其隐藏。 我已经在使用:

setTimeout(function () {
  window.scrollTo(0, 1);
}, 500);
但是,要在最初和方向更改时隐藏导航栏,我希望导航栏在滚动期间保持隐藏状态。我希望它能在他们看到导航栏的唯一方式是触摸屏幕顶部的iphone上工作。显然,向下滚动页面时,它已经隐藏得很好了,但是当你向后滚动到页面顶部时,它会显示导航栏,我真的很想把它隐藏起来

我想在触摸端触发它

if (window.scrollY < 2) {
    setTimeout(function () {
        window.scrollTo(0, 1);
        }, 0);
    }
if(window.scrollY<2){
setTimeout(函数(){
滚动到(0,1);
}, 0);
}
但问题是,当您滚动到顶部时,导航栏会暂时显示,然后转到(0,1)。我希望它根本不显示导航栏

虽然我似乎无法让它工作。
谢谢

您应该实现scrollview委托

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;

想到的解决方案是将事件侦听器放在滚动条上,例如

window.addEventListener('scroll', function() {
  if (window.scrollTop < 44) {
    window.scrollTop = 44;
  }
});
window.addEventListener('scroll',function(){
如果(window.scrollTop<44){
window.scrollTop=44;
}
});

不幸的是,把听众放在croll上是非常不好的,而且通常是不赞成的。如果你绝对100%需要该功能,请使用一个有限制的侦听器,这样你的功能就不会频繁启动,比如说,每10毫秒启动一次。

我有一个主意,我想我只需将整个站点在y轴上向下移动2000像素,然后找到iphone在滚动过远时出现的背景灰色划痕图案的图像,然后把它放在y轴上,这样看起来如果你向上滚动,它就太远了。

考虑将整个站点向下移动几百个像素,并将其设置为,如果scrollY<300,它将滚动到300。这样,导航栏和可视站点之间就会有足够的空间。。。虽然我希望有人有更好的解决办法。我不明白这是什么,或者它的作用是什么,你能解释一下吗?他说的是完全不同的东西。Objective-C编程,使用iOS设备。我想我不能再慢了,已经有很多图像和代码,我想我可能不得不处理它。我会投票支持你的答案,但我没有15分的声望…没问题,很乐意帮忙!(有点…)