私はスライドダウンメニューを持っています。メニューの第3レベルの幅
<menu>
<li id="vysledky"><a href="#">Výsledky</a>
<ul class="menu2">
<li>2008
<ul class="menu3">
<li><a href="#">21.08. - MMSR SCg</a></li>
<li><a href="#">R SCOOechová Potôň SK</a></li>
<li><a href="#">SCOOTER Brezová /Visonta/ HU</a></li>
</ul>
</li>
<li>2010</li>
<li>2011<</li>
</ul>
</li>
<li id="forum"><a href="#" class="prvy"><span>Fórum</span></a></li>
</menu>
を、今私は自動にそれで最も長いテキストでメニュー(MENU3)の各3レベルの幅を設定したい:HTMLで私が持っています。この例では、この.menu3の幅はテキスト "SCOOTERBrezová/ Visonta/HU"の幅になります。
menu2の幅が安定していて、menu2よりも長い場合は、menu2の幅に設定します(カスケード) したがって、javascript(jquery)を使用します。私はこのコードを持っている:
var i;
var podm;
$('menu>li').each(function() {
podm = 0;
if($(this).children('ul').size()) {
$(this).each(function() {
if($(this).children('ul').size()) {
$(this).each(function() {
podm++;
i = 60;
$(this).find('li a').each(function() {
var w = $(this).text();
$('#js').text(w);
w = $('#js').width();
if(w > i) {
i = w;
}
});
$(this).find("ul.menu3").css("width");
});
}
});
}
});
をしかし、このコードは悪い:-(を作品
ウェブ:。。あなたが長いテキストがオーバーラップするようになり345pxにmenu3
ULの幅を設定Here
申し訳ありませんが、どこでmenu3の幅を設定しますか?私はあなたがページに書いたコードを見つけることができません。 – Darkry
申し訳ありませんが、Javascriptで設定されています。 Opera Dragonflyで見ることができます。幅を設定するJavascriptを無効にすると、サイトはどのように変更されますか? –
3番目のメニューの幅を計算するためのjsスクリプトを削除しました。あなたはウェブ上でそれを見ることができます。私は空白を使用してCSS:Btw:nowrap; – Darkry