0

我正在研究这个:mobiledoor for Mobile,我想隐藏导航栏并保持隐藏。我已经在使用:

setTimeout(function () {
  window.scrollTo(0, 1);
}, 500);

但是,要最初隐藏导航栏并在方向更改时隐藏导航栏,我希望导航栏在滚动期间保持隐藏状态。我希望它可以在他们看到导航栏的唯一方法是,无论如何在 iPhone 上,他们触摸屏幕顶部的地方工作。显然,向下滚动页面时它已经很好地隐藏了,但是当您滚动回顶部时,它会显示导航栏,我真的很想将其隐藏。

我在想一些类似于在触摸端触发这个的东西

if (window.scrollY < 2) {
    setTimeout(function () {
        window.scrollTo(0, 1);
        }, 0);
    }

但问题是当您滚动到顶部时,它会暂时显示导航栏然后转到(0,1)。我希望它根本不显示导航栏。

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

4

3 回答 3

0

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

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

不幸的是,将侦听器放在Scroll 上的性能非常低下,并且通常不受欢迎。如果您绝对 100% 需要该功能,请使用受限制的侦听器,以使您的功能不会比每 10 毫秒更频繁地触发。

于 2013-02-27T05:44:34.763 回答
0

我有一个想法,我想我只需将整个网站在 y 轴上向下移动 2000 像素,然后找到当您滚动太远时 iphone 具有的背景灰色刮擦图案的图像,并将其放在上方y 轴,这样看起来如果你向上滚动,它就太远了。

于 2013-02-27T19:09:34.357 回答
-1

您应该必须实现滚动视图委托

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
于 2013-02-27T05:43:25.443 回答