0

フローティングボタンで開いたメニューに取り組んでいます。今いる位置からメニューを開いてメニューが見えるようにしたいです。position: fixed;問題は、メニューが非常に大きく、ページをスクロールする必要があるため、css を使用できないことです。

    $("#exp_menu").click(function() {
        $("#left_block").show();
        $("#exp_menu_close").show();
        $("#exp_menu").hide();
    });
4

1 に答える 1

1

#exp_menu要素は、あなたが参照している「メニュー」であると想定しています。

クリック イベント ハンドラーで現在のスクロール位置を取得し、#left_block必要に応じて要素の位置を更新できます。要素をビューポートの上部にドッキングしたい場合は#left_block、これを使用できます。

$("#exp_menu").click(function() {
    $("#left_block").css({
        top : $(window).scrollTop()
    }).show();
    $("#exp_menu_close").show();
    $("#exp_menu").hide();
});

このソリューションでは、#left_block要素が絶対配置され、そのオフセットの親が要素である必要がありbodyます。

$(window).scrollTop()現在のウィンドウのスクロール位置を返します: http://api.jquery.com/scrolltop/

于 2012-12-03T19:20:18.663 に答える