0

私はこれに取り組んでいます:モバイル用のmobiledoor で、ナビゲーションバーを隠して隠しておきたいです。私はすでに使用しています:

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;
  }
});

残念ながら、リスナーを onScroll に配置することは非常にパフォーマンスが悪く、一般的に嫌われています。機能が絶対に 100% 必要な場合は、調整されたリスナーを使用して、関数が、たとえば 10 ミリ秒ごとよりも頻繁に起動しないようにします。

于 2013-02-27T05:44:34.763 に答える
0

サイト全体を 2000px だけ y 軸に沿って下に移動し、スクロールしすぎたときに iPhone が持つ背景の灰色の引っかき模様の画像を見つけて、上にスクロールすると遠すぎるように見えます。

于 2013-02-27T19:09:34.357 に答える
-1

scrollviewデリゲートを実装する必要があります

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