我的网站菜单栏有问题。我需要固定菜单栏以便在画布上工作。我已设定位置:固定。
问题是我有其他菜单,有时我需要使菜单可见并与画布重叠。
我在这里举一个小例子:http : //jsfiddle.net/ptCoder/NgHTN/1/
<div id="menus">
<div id="hbar">Menu Bar</div>
<div id="hbar1" style="display:none;">Menu Bar 1</div>
<div id="hbar2" style="display:none;">Menu Bar 2</div>
</div>
<div class="container">
<canvas id="c" width="500px" height="800px">CANVAS</canvas>
</div>
请点击“新菜单栏”。需要的是,当我单击“新建菜单栏”时,画布移至底部,而当我单击“仅一个菜单”时,仅显示1个菜单并将画布移至顶部,如初始...我不知道精确地是所有菜单栏的高度。
有没有显示的技巧,隐藏未设置边距大小?
请帮我解决这个问题。
谢谢你。
好的,您将需要一个javascript解决方案;
工作jsFiddle http://jsfiddle.net/NgHTN/4/
基本上,在将每个块显示到#menus div的高度后,我们将设置top css参数。
首先,将canvas设置为position:relative。
然后添加处理程序。
$("#btnNewMenu").click(function(){
$("#hbar1").css("display","block");
$("#hbar2").css("display","block");
$(".container").css("top", $("#menus").height());
});
$("#btnShow").click(function(){
$("#menus").show();
$(".container").css("top", $("#menus").height());
});
$("#btnHide").click(function(){
$("#menus").hide();
$(".container").css("top", 0);
});
$("#btnOnly1").click(function(){
$("#hbar").css("display","block");
$("#hbar1").css("display","none");
$("#hbar2").css("display","none");
$(".container").css("top", $("#menus").height());
});
另外,如果您不想将canvas设置为position:relative,则可以通过设置“ margin-top”而不是“ top”来做同样的事情,但是您出于某种原因希望使用一种替代边距的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句