Клик меню - проблемы и возможные пути решения
Простейшее клик-меню на JavaScript, которое ни в коей мере нельзя отнести к эталону, потому что требования к подобного рода меню хотя и просты на первый взгляд, но не всегда выполнимы и многие программисты не уделяют этому моменту должного внимания.
Главные недостатки меню с вложениями на JavaScript:
- При отключении JS из-за прописанного в таблице стилей стилевого правила display:none; необходимого для скрывания подменю, меню будет находиться в свернутом состоянии, что препятствует нормальной навигации по сайту, делая ее практически невозможной
- Клик по ссылке в выпадающем подменю и последующей перезагрузке, меню сворачивается в исходное состояние и посетителю трудно сорентироваться так, как нет факта привязки открытой страницы к ссылке в меню, по которой был осуществлен переход
Исходя из выше перечисленого необходимо:
- Избегать использования display:none; - при отключенном JS, меню должно быть полностью раскрытым и все ссылки в нем доступны
- Скрипт должен запоминать состояние меню после перезагрузки страницы
- Применение скрипта одновременно в разных колонках навигации
- Иметь возможности для оформления того или иного состояния меню
Использование различных библиотек в частности очень популярной - jQuery, может снять практически все вопросы, но если нужен функционал только для одного меню, тащить под него скрипт объемом порядка 300 кб, слишком расточительно.
Автор Trifler.ru после долгих поисков нашел таки скрипт, практически полностью удовлетворяющий всем его требованиям.
Вес скрипта со всеми необходимыми фишками, чуть более 3 кб.
Лицезреть и поиграться меню на его основе, можно в левой колонке навигации на данной странице.
Скриншоты лишь иллюстрация, показывающая различные состояния меню.
Как бы там не было, автор придерживается мнения, что меню с вложениями сделанное с помощью PHP, это самый лучший вариант, но это вопрос заслуживающий отдельного рассмотрения, а мнимые трудности с оформлением меню, легко решаются установкой Denver'a.