А зачем вам display:none ?
В менюшках есть параметр, который позволяет показывать подменю только для текущего выбранного пункта верхнего уровня.
Т.е. если пользователь находится на p2 или p2.x то меню выглядит так:
p1
p2
p2.1
p2.2
p3
Если на p3 или p3.x
p1
p2
p3
p3.1
p3.2
|