О системе Menushnik
Menushnik — иерархическая система навигационного меню с неограниченной вложенностью уровней, разработанная в 2003-2004 годах. Система позволяет создавать многоуровневые выпадающие меню с поддержкой защиты паролем отдельных пунктов, плавной анимацией появления/скрытия подменю и гибкой настройкой через XML-конфигурацию.
Меню полностью работает на клиентской стороне, используя JavaScript и XML для описания структуры. Поддерживается сохранение состояния разблокированных пунктов в cookies браузера.
Версии меню
Доступны две оригинальные версии меню, каждая из которых представляет собой самостоятельную реализацию с различной архитектурой:
- menushnik_2003.js — оригинальная версия от октября 2003 года. Первая реализация системы меню. Использует класс
PDMenu для представления пунктов меню и вспомогательный класс LDRect для управления позиционированием и размерами элементов. Состояния меню: DOWN (раскрывается), UP (скрывается), VISIBLE (видимо), HIDDEN (скрыто). Требует внешние файлы heart.js и tooltip.js для полной функциональности. Подходит для использования в Internet Explorer 5+.
- menushnik_2004.js — обновлённая версия от июня 2004 года. Переработанная архитектура с улучшенной структурой кода. Использует класс
aksmenu и функцию rectify для инициализации свойств элементов. Состояния меню: SHOWING (показывается), HIDING (скрывается), VISIBLE (видимо), HIDDEN (скрыто) — более описательные названия, отражающие процесс анимации. Добавлена поддержка двойного клика (DBLCLICK) для отладки (показывает информацию о состоянии пункта меню) и метод copy() для клонирования структуры меню. Более гибкая и расширяемая архитектура. Самодостаточна, не требует внешних зависимостей.
Основные различия между версиями
- Архитектура: Версия 2003 использует объектно-ориентированный подход с классами
PDMenu и LDRect, где LDRect инкапсулирует работу с позиционированием. Версия 2004 использует класс aksmenu с функцией rectify, которая динамически добавляет методы позиционирования к DOM-элементам, что делает код более компактным.
- Состояния меню: Версия 2003 использует пары
DOWN/UP для описания процесса анимации, версия 2004 — SHOWING/HIDING, что более точно отражает текущее состояние анимации и улучшает читаемость кода.
- Дополнительные возможности: Версия 2004 добавляет поддержку двойного клика для отладки (выводит информацию о состоянии пункта меню в alert) и метод
copy() для создания копий структуры меню, что полезно для динамического создания меню на основе шаблонов.
- Зависимости: Версия 2003 требует внешние файлы
heart.js и tooltip.js для работы некоторых функций. Версия 2004 является самодостаточной и не требует дополнительных файлов (хотя в оригинальной версии также включала встроенные функции tooltip и floater, которые были вынесены в отдельные файлы для чистоты кода).
- Совместимость: Обе версии разработаны для Internet Explorer 5+ с использованием ActiveX для парсинга XML. Для современных браузеров рекомендуется использовать современную версию с поддержкой стандартных веб-технологий.
Использование
Для использования меню на вашем сайте:
- Скачайте одну из версий JavaScript-файла (2003 или 2004).
- Подключите файл к вашей HTML-странице через тег
<SCRIPT>.
- Создайте XML-файл с описанием структуры меню (см. пример menushnik.xml).
- Вызовите функцию
MakeMenu('путь/к/menushnik.xml') для инициализации меню.
- Добавьте контейнер
<SPAN id="__container"></SPAN> в место, где должно отображаться меню.
- Подключите соответствующий CSS-файл для стилизации меню.
Примечание: Для работы в современных браузерах (Chrome, Firefox, Safari, Edge) рекомендуется использовать современную версию меню с поддержкой стандартных веб-технологий, CSS-анимациями и автоматической поддержкой светлой/тёмной темы.
Демонстрация меню
Используйте меню слева для навигации. Наведите курсор на пункты меню, чтобы открыть подменю. Меню поддерживает неограниченную вложенность уровней.
Важно: Интерактивное меню слева работает только в старых браузерах (Internet Explorer 5+) из-за использования ActiveX для парсинга XML. В современных браузерах (Chrome, Firefox, Safari, Edge) автоматически отображается карта сайта ниже. Для полной функциональности в современных браузерах используйте современную версию меню.
Карта сайта
Ниже отображается полная структура меню в виде иерархического списка. Карта сайта автоматически генерируется на основе XML-конфигурации меню.
Загрузка карты сайта... Если этот текст не исчез, значит ваш браузер не поддерживает JavaScript или произошла ошибка при загрузке меню.
Защита пунктов меню паролем
Система Menushnik поддерживает защиту отдельных пунктов меню паролем. Заблокированные пункты отображаются в меню, но их содержимое недоступно до ввода правильного пароля.
Для разблокировки защищённого пункта меню:
- Перейдите по специальной ссылке, которая была предоставлена при регистрации или создании защищённого раздела.
- Или кликните на заблокированный пункт в карте сайта выше — откроется форма для ввода пароля.
- Введите правильный пароль в появившуюся форму.
- После успешной разблокировки пароль сохраняется в cookies браузера и будет автоматически применяться при следующих посещениях.
Заблокированные пункты отмечены как "(заблокировано)" в карте сайта выше.
|