jquery:如何从滚动位置打开div

时间:2012-12-03 19:07:38

标签: jquery html css

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

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

1 个答案:

答案 0 :(得分:1)

我假设#exp_menu元素是您所指的“菜单”。

您可以在Click事件处理程序中获取当前滚动位置,并根据需要更新#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/