I've actually streamlined my concertina menu code now, and decided  
that it wasn't actually necessary to have one event wait for the  
previous one (couldn't get it to work, anyway...)

My code now works with a nested <ul> menu structure, with no extra  
classes needed in the HTML, and will expand/close menus at any level  
in the nest. The code is simple:

$('#menu li ul').prev().click(function(){
     $(this).parent().siblings().children('ul:visible').slideUp('fast');
     $(this).next().slideToggle('normal');
     return false;
});

It closes all other open menus at the same level as the clicked item,  
then toggles the clicked menu. An example:

http://www.sebduggan.com/testing/jquery-menu.htm

I have two problems:

1. In Firefox on the Mac, on clicking a link, the toggled menu  
flashes up in full for an instant, before sliding open as it should.  
It works perfectly in Safari, IE Win 6+, Opera 8+, FF Win.

2. It almost works in IE 5.5.




On 6 Feb 2007, at 21:19, Rey Bango wrote:

> Actually Seb,
>
> Use this:
>
> $('.topMenu').click(function(){
>
>       $('ul.level1:visible').slideUp('normal');
>       $(this).next().slideDown('normal');
>
>    return false;
>
> });
>
> Rey...
>



_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to