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/