我正在使用 PHP 来下拉主菜单。我的菜单如下所示:
<ul class="dropdown_top">
<li style="width:20px;"> /*main categories, width is an exapmle i don't realy know the exact width */
<ul style="margin-left:-10px>
<li></li> //subcategories
...
</ul>
</li>
<li> //main categories
/* the code i'm looking for, must do something like this: */
<?php
$style = - widthOfThePreviusMainCategoryLi() + marginLeftOfThePrevius_Ul_Li_Ul() = -30px ;
?>
<ul style="margin-left:<?=$style?>;"> /* this ul margin-left is the problem */
<li ></li>
...
</ul>
</li>
</ul>
我需要获取上一个列表项的宽度并计算当前边距。
我看到了一个带有 jQuery 函数的示例outerWidth()
,但我不知道如何在我的情况下使用它。
我在菜单发布后尝试了这个,但我做错了什么?
<pre><code>
<script type=text/javascript>
$(document).ready(function(){
var number = $("#topmenu li").size();
var marginSum = -10; //the first
for(i=2;i < number; i++)
{
marginSum = marginSum - $("#topmenu li").slice(0,(i-1)).outerWidth(true); //OR
marginSum = marginSum - $("#topmenu li:eq("+(i-1)+")").outerWidth(true);
alert("Μargin of "+i+": "+marginSum + " prev width:"+$("#topmenu li:eq("+(i-1)+")").outerWidth(true)+" Margin:"+marginSum); //OR
alert("Μargin of "+i+": "+marginSum + " prev width:"+$("#topmenu li").slice(0,(i-1)).outerWidth(true)+" Margin:"+marginSum);
// $("#topmenu li").width(width);
}
});
</script>
</code></pre>
我相信该函数outerWidth(true);
也会计算嵌套ul
,但我不确定。