Ссылки
Поиск
Привет, Гость
Обновления на форуме
| Блок новостей в виде блога 2 >> |
| Игры для сайта 34 >> |
| Сервис создания тестов 94 >> |
| Дед 1 >> |
| На сайте регистрация пользователей спамом 3 >> |
Чтобы не заходить на нужный сайт каждый день, достаточно подписаться на RSS-канал.
Статьи → Статьи → Разработка сайтов → Как выделить активный пункт меню
|
Активным пункт меню становится при прописании ему какого-нибудь класса и выделении этого класса в CSS. Выделять класс, чтобы он отличался от других, проще и лучше всего яваскриптом. Можно и на сервере с помощью PHP добавлять класс к ссылке меню, но на яваскрипте лучше. И вот почему. 1. Этот функционал не критичен — и без выделенного пункта меню всё будет работать. А «критичный» функционал лучше не делать на яваскрипт — ибо он есть не на всех устройствах, на которых могут просматривать Ваш сайт. 2. Выделение пункта меню создает нагрузку на стороне клиента, а не сервера — а это плюс. 3. При добавлении класса яваскриптом не нужен запущенный сервер, чтобы показать кому-либо результат своей верстки. Проще говоря, для предпросмотра верстки PHP не нужен — нужны только html+css+javascript. Теперь разберём как это сделать на примере.
Например — у всего меню градиент идет от света вверху к тени внизу, а у активного меню наоборот. Возможности CSS3 помогут нам в этом:
То есть задать класс "active" текущей ссылке. Шаг первый — создадим подсвечивающую функцию. Будем вызывать её на каждом меню. Пока у нас одно, но вдруг будет много — потом потребуется дописать лишь строчку.
Теперь осталось её вызвать в конце документа, лучше всего перед закрытием <body>, чтобы подсветить все ссылки внутри id="menu"*
Как видим, даже без использования jQuery на нативном яваскрипт — всё просто. Но если у Вас на странице подключен jQuery, то всё ещё проще. Можно обойтись вовсе без функции, а код более прост и понятен:
Ну и по традиции — в конце результат: С отключённым яваскриптом подсветки активной ссылки не увидите. Всё по-честному ![]() Остаётся добавить, что код только кажется сложным из-за того, что мы добавили к меню градиенты с помощью CSS. А так меню можно подсвечивать гораздо проще. Например выделять жирным с помощью font-weight:bold. Или задавать другой фон картинкой — как пожелаете. |
||||||||||
| Дата 2014-04-01 12:59:05 |
Комментировать
Вы не залогинены!
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.

