1

このページに示されているような効果を実現しようとしています: ウィンドウの上部が特定のコンテナーの上部に達したときに、ウィンドウの上部にくっつくようにします。

この動作を扱うSOでこの質問を見つけました。しかし、ユーザーが特定の px に到達したときにコンテナーが固執するのではなく、ユーザーがコンテナーの先頭に到達したときにコンテナーを探しています。ページの上部とコンテナーの上部の間のサイズが異なる可能性があるため、この方法が必要です。

私の質問は次のとおりです。

-> 特定のコンテナの最上部に到達したことをどのように知ることができますか?
-> そのコンテナに position: relative がある場合、内部に複数の要素が相対的に配置されているため、fixed を使用できないため、どうすればよいですか?
-> 上にスクロールしてコンテナが配置されていたのと同じポイントに到達したら、どうすればコンテナをリセットできますか?

ありがとう

4

1 に答える 1

0

これを使って:

 $(window).scroll(function(e){
 $el = $('.class_of_fixedElement or #id_of_fixedelement');
 if ($(this).scrollTop() > 200 && $el.css('position') != 'fixed'){
 $('.fixedElement').css({'position': 'fixed', 'top': '0px'});
 }
 });

200 を必要なピクセルに置き換えます。スクロールトップがそこに到達するとすぐに、要素が上部に固定されます。

于 2013-01-31T11:36:45.500 に答える