我正在处理一个用浮动按钮打开的菜单。我想从我所在的位置打开菜单,这样我就可以看到菜单了。问题是我不能使用css position: fixed;
,因为菜单很大并且需要滚动页面。
$("#exp_menu").click(function() {
$("#left_block").show();
$("#exp_menu_close").show();
$("#exp_menu").hide();
});
我假设该#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/