0

一定量のピクセルを下にスクロールした後に div を表示させるチュートリアルがたくさんあることは知っています。

しかし、私が望むのは、ユーザーが別の div をスクロールしたときに div が表示されるようにすることです。そして、彼らが上にスクロールすると、再び消えなければなりません。

一定量のピクセルの後ではないのはなぜですか? ユーザーがバナー画像をスクロールした後、メニューバーをページの上部に表示するためにこれを使用したいと考えています。しかし、ブラウザ (モバイル、タブレット、小さな画面など) を縮小すると、バナー画像は縮小されます! 画像は以前と同じ高さではありません。メニューバーは遅くまたは早く表示されます;)そのため、メニューバーをその画像(div)の後に表示する必要があります。

皆さんが助けてくれることを願っています!

4

3 に答える 3

1

抽象的な言葉で話しているので、できる限り説明しようと思います。

targetDiv の現在の位置 (div、その後下にスクロールするとメニューバーが表示されます) を取得し、一定量のピクセルを下にスクロールした後に menuDiv を表示する同じコードを使用できませんか。

この回答は、targetDiv の現在の位置を取得するのに役立つ場合があります。

于 2013-09-15T16:51:08.817 に答える
0

pageoffset が量 (ターゲットの上部オフセット + ターゲット要素の高さ) を超えているかどうかを確認し、div を表示できます。

そして、ページオフセットが計算された量よりも少なくなったら、divを非表示にします

于 2013-09-15T16:54:17.853 に答える
0

それで、次の手順を実行して、それがどうなったか教えてください。

1) jquery.appearを取得する

2) セレクターに消えるイベントを適用します。

$('someselector').on('disappear', function(event, $all_disappeared_elements) {
      // this element is now outside browser viewport
    });

3)そのイベントで、他のdivを消すだけです。

$('theStuffToHide').toggle()

4) 最終結果

$('someselector').on('disappear', function(event, $all_disappeared_elements) {
    $('theStuffToHide').toggle()
});

必要なものはこれだけです。

乾杯、お役に立てば幸いです。

于 2013-09-15T16:52:27.987 に答える