過去 48 時間、これを解決しようとしてきましたが、実際には解決策が見つかりません。https://github.com/bigspotteddog/ScrollToFixedプラグインを使用しており、親 DIV 内の固定位置を制限したいと考えています。stackoverflow とプロジェクトの github ページで scrollToFixed に関するすべての関連する質問を見ましたが、これを解決する手がかりは見つかりませんでした。
これまでのところ、私はこれを持っています: http://jsfiddle.net/CVMjp/1/
これは基本的な HTML 構造です。
<div class="container" id="element_1">
<div class="content">Content</div>
<div class="sticky">Sticky</div>
</div>
そして、これはページ上の各要素に影響を与える私のjQuery関数になります:
$(document).ready(function() {
for (i = 1; i <= $('.sticky').length; i++) {
$('#element_' + i + ' .sticky').scrollToFixed({
marginTop: 20,
zIndex:1,
limit: $('#element_' + (i + 1) + ' .content').offset().top - $('#element_' + i + ' .sticky').height() - 50
});
}
});
.sticky ボックスが各 .content の下部に到達したときにその下部にとどまるようにします。現在、私の例では、.content DIV の下部に到達すると、「固定」位置が「絶対」に変更されますが、ボディ マージンに問題があります (ボディに基づいて「左」位置があるため)。 .content 内の左の位置ではなく) およびその他の問題があり、問題の原因を実際に見つけることができません。
また、jsfiddle の例では$(document).readyに問題はありませんが、私のオンライン サイトでは$(window).loadを使用して、各 .content DIVの正しいoffset().topを取得する必要がありました。document.ready を使用すると、明らかにすべての .content DIV が同じ高さのように扱われますが、内部のコンテンツの量が異なるため異なります。
これを解決できる場合は、この質問を更新しますが、助けを借りることができます。
前もって感謝します!:)