This can be closed immediately: it's for others who encounter the problem.
I had a jquery menu positioned inside a scrolling overflow div. IE has a bug relating to overflows not being hidden unless the overflow happens on or in a relatively positioned item.
It turns out that the jquery slide effect has a bug when it's inside a relatively positioned item on IE. Menu items disappear on opening a submenu. It's as if the state of the dom is getting out of sync with the state of the applied open and close styles.
After a lot of digging I found the easiest way to fix this was to ditch the slide effect on IE. Either use the non-animated opening javascript or patch the line
$(momma).children('ul').slideDown('700');
to become
if (!$.browser.msie) $(momma).children('ul').slideDown('700');
Patch the slideUp line similarly.
IE 6 doesn't have the same bug: the menu items don't disappear in the slide. But in a different bug, the + icon is positioned in the wrong place during and after a slide. The same patch cures this too.
Comments
Comment #1
PixelClever commentedAnyone reading this should disregard the instructions above. I have said this time and again... This module has been tested repeatedly with IE6, IE7, Firefox and Safari. If you test the module with a standard theme such as Garland (or on my personal site www.PixelClever.com) you will see that it works fine on all of these browsers. This means that the problem is with your theme.
Changing the javascript is the wrong solution. Theming issues should be fixed with CSS in your theme not by tinkering with a module that has a very simple CSS structure and Javascript that works on standard themes.