1
ウェブサイトにサイドバーがあり、高さに達するとブラウザウィンドウの一番下に固執する必要があります。この音は複雑ですが、おそらくそうではありません。だから、再びhttp://jsfiddle.net/dJXS2/1/jQuery:スクロール時にウィンドウの下端でdivを修正しますか?
$(window).scroll(function() {
var bh = $(window).height();
var st = $(window).scrollTop();
var eh = $('#element').height();
var eo = $('#element').offset();
if (st >= (eo.top + eh) - bh) {
//$('#element').css('position', 'fixed');
}
});
- 私が欲しいもの:
私はjsfiddleにほとんどのデモをした あなただけのテストの目的のために体が長くなりDIVpage-height
を参照してください。緑色のサイドバーはページの高さよりも短くなっています。ユーザーが緑色のバーの下をスクロールすると、緑色のバーを現在の位置に固定します。だから私は、ユーザーが緑色のバーの下の空白を見ることを望んでいない。もう一度スクロールすると、通常のスクロール動作を元に戻し、緑色のバーをもう修正しないでください。
これに関するアイデアはありますか?
をありがとう!私はなぜ要素のオフセット値を使用することができない任意のアイデア?ヘッダーの高さがダイナミックになる可能性があるので、これが必要です。 – matt
オフセットを使用しようとしましたか?それは私がCSSクラスから離れた理由です。 http://jsfiddle.net/dJXS2/5/ –
'el.offset()。top'は、いったん修正すると違うので使用できません。スクロール・イベントの外側でそれを計算して格納する必要があります。 –