ページの左側にこの固定メニューバーがあります。ただし、ウィンドウの高さが十分に高くなく、すべてのアイテムを同時に表示できない場合は、メニューアイテムを非表示にします。固定メニューバーには、スクロールバーを回避するためにオーバーフローが非表示になっています。私の現在のスクリプトはそれをかなりうまくやっていますが、約30の異なるメニュー項目があるかもしれないので、それは長くなります。つまり、これを実行するには多くのif/elseステートメントが必要になります。ウィンドウのサイズが変更されるたびにこの関数を実行します。
function resizeMenu() {
var win_h = $(window).height();
if (win_h < 220) {
$('div.list_item_btn').show().slice(1).hide();
$('.down_arrow').show();
} else if (win_h < 288) {
$('div.list_item_btn').show().slice(2).hide();
$('.down_arrow').show();
} else if (win_h < 356) {
$('div.list_item_btn').show().slice(3).hide();
$('.down_arrow').show();
} else {
$('div.list_item_btn').show()
}
}
すべてのアイテムの高さが68pxである68
ため、増加するアンバーに継続的に適用する必要があります。これにはもっと良い解決策があることは知っていますが、ここに注意が必要です。すべての項目が表示されていない場合は、下部に矢印を表示したいと思います。この矢印をクリックすると、メニュー項目が上にスライドして上部の1が非表示になり、下部にさらに1が表示されます。
しかし、コンテンツが非表示になっている限り、コンテンツを上にスライドさせる方法がわかりません。意味がなく、これは失敗しました。