0

我正在处理一个用浮动按钮打开的菜单。我想从我所在的位置打开菜单,这样我就可以看到菜单了。问题是我不能使用css position: fixed;,因为菜单很大并且需要滚动页面。

    $("#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 回答