他の場所から割り当てた次のコードを介して下にスクロールすると、固定位置に切り替わるページはめ込みナビゲーションメニューがあります。
$(document).ready(function () {
var top = $('#toc2').offset().top - parseFloat($('#toc2').css('marginTop').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
// whether that's below the form
if (y >= top) {
// if so, add the fixed class
$('#toc2').addClass('fixed');
}
else {
// otherwise remove it
$('#toc2').removeClass('fixed');
}
});
});
CSSスタイル:
#toc2Wrapper {
left: 960px;
position: absolute;
width: 200px;
font-size:11px;
}
#toc2 {
position: absolute;
top: 0;
background: #FFF;
padding:3px;
width: 200px;
border: 1px solid #E0E0E0;
}
#toc2.fixed {
position: fixed;
top: 0;
}
私の問題は、ページコンテンツの性質上、メニュー内で複数の項目を切り替えると、ページ内ナビゲーションが非常に大きくなる可能性があることです。これは、メニューの長さがウィンドウの下部を超えて到達し、固定位置スクリプトのために到達できなくなる可能性があることを意味します(他のセクションが再び折りたたまれていない限り)。
一度に1つのセクションのアコーディオンメニューに依存するのではなく、メニューを内部でスクロールさせたり、ウィンドウの下部が下部を超えた場合にウィンドウの上部から固定解除できるようにしたいです。窓。
Androidのウェブサイトには、私が達成しようとしていることの良い例があります。比較的短いウィンドウで[アプリコンポーネント]を展開すると、メニューのスクロールバーが表示されます。
https://developer.android.com/guide/components/index.html
このようなものを許可するように既存のスクリプトを変更するにはどうすればよいですか?