0

子に対するサブメニューの合計幅を計算しようとしています。次のコードは、最初のサブメニューでのみ正常に機能します。2 番目のサブメニューを機能させるには、幅を手動で +1 する必要があります。そうしないと、最後の項目が押し下げられます。

$('nav.primary').find('ul.sub-menu').each( function() {
    var width = 0;

    $(this).find('li').each( function() {
        width += $(this).outerWidth();
    });

    $(this).css({
        'width': width + 'px'
    });

    $(this).hide();
});
<li>
    <a href="/oplossingen/">
       Oplossingen<span class="fo icons-angle-down"></span>
    </a>
      
  <ul class="sub-menu">
	<li>
      <a href="/oplossingen/mvo-adviesdiensten/">
        MVO Adviesdiensten
      </a>
    </li>	     
    <li>
      <a href="/oplossingen/co2-prestatieladder-advies/">
        CO2-Prestatieladder Advies
      </a>
    </li>
  </ul>
</li>

正しい例:

ここに画像の説明を入力

間違った例:

ここに画像の説明を入力

幅+1 ここに画像の説明を入力

背景色を除いて、奇数アイテムと偶数アイテムの間に他の違いはありません。

私の問題を解決できない次の同様の質問を見つけました: Calculate total width of Children with jQuery

4

0 に答える 0