display: none использовать не хочется, что бы скрывать меню,думаю это не совсем правильно.
Почему?
Правильно ли будет, если сделать, что бы по клику выполнять ajax запрос и подгружать меню?
У вас динамическое меню, которому нужно формировать пункты на основании информации полученной от пользователя? Сомневаюсь.
Все идут к упрощению и уменьшению этой "асинхронности", вы в другую сторону.
"Не морочьте одно место, где спина заканчивается"