这个问题貌似以前知道,但不知道有没有好的方法。现在要做一个下接菜单,然后有一些下接列表的右边距会超会超出窗体的宽度。但么就要去计算了。这里遇到的问题就是,这些下接列表是隐藏的元素,我在"mouseover"的时候不能正确的获取它距里左边的left值,所以导致计算失败。
请教一下,类似的问题如何解决?
.box { border:1px solid red; width: 200px; height: 200px; } .box_inner{ border:1px solid green; width: 50px; height: 50px; position:absolute; left:151px; }
<div class="box" style="display:none;"> <div class="box_inner"></div> </div>
// TODO jQuery var boxInner = $(".box_inner"); alert(boxInner.offset().left);
父元素
display:none
,当然无法获取子元素,之能换个思路了。试试更改HTML结构 或 判断父菜单项的数量,当达到一定数量后,将最后的几个菜单项添加新的类名,样式改为右对齐。