2010-12-06 3 views
0

Wie zeige ich die erste <ul> innerhalb einer <li>, wenn ich auf die <li> schweben?Toggle ul (Untermenü)

+2

Welchen Browser unterstützen Sie? Sie benötigen möglicherweise kein JavaScript. –

+0

In Anbetracht der Einschränkungen mit browserübergreifendem CSS2 + ist es wahrscheinlich besser, JS zu verwenden, unabhängig davon, was Sie unterstützen. Du solltest wirklich so viele wie möglich unterstützen. Ganz zu schweigen davon, dass jQuery Ihnen die vielen Cross-Browser-Probleme erspart hat. : D – Andy

+0

@nalroff, es gibt nichts besonderes in Bezug auf die ': Hover' psuedo Klasse. Es sollte breite Unterstützung haben - IE7 +, Safari, Chrome, Opera, FF. –

Antwort

3

HTML:

<ul> 
    <li class="firstLevel"> 
     <ul></ul> 
    </li> 
    <li class="firstLevel"></li> 
    <li class="firstLevel"></li> 
</ul> 

JS:

$('li.firstLevel').hover(function(){ 
    $(this).find('ul:first').show(); 
}, 
function(){ 
    $(this).find('ul:first').hide(); 
}); 

Hinweis: Dies ist für Browser nur notwendig ist, die hover auf lis (IE6) nicht

3
$("ul.menu>li").hover(
    function() { 
    $(this).children("ul:first").show(); 
    }, 
    function() { 
    $(this).children("ul:first").hide(); 
    } 
);
0
unterstützen

Nur um zu befürworten CSS. Wenn Sie IE6 nicht unterstützen und keinen Spezialeffekt benötigen, empfehle ich Ihnen dies mit CSS:

Verwandte Themen