holy crap.. 1000 menu items ??

dude, css won't do any better for you than js.

you need to rethink it.

regardless of what you use, you are still sending 1000 menu items worth of data on each page imprint. whether they show up as hidden divs or not and they get show/hidden with clicks.. they still impact you the same, because the browser got it, but didn't render the display:none stuff.

you need to think about a more parcelled approach where you possibly send the level 1 menu items first.

then with a click, you ajax the level 2 items for the level 1 item clicked.

etc etc.

if it's already slow with x number of menu items, it's gonna be a lot slower as you add more to it.

i'd look into parcellin it up...

2c