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
と思いますが、それは確かではありません。