|
|
|
| У меня вопрос: я нажимаю на ссылку - как сделать что бы после этого она была выделена цветом ?? ( как бы что бы пользователь видел где он находится ). спасибо. | |
|
|
|
|
|
|
|
для: mabelrod
(29.06.2010 в 11:51)
| | Тут два варианта - формировать стиль выделенной ссылки на сервере, если Вы используете обновление страницы при переходе по ссылке, или же, просто используя JavaScript, сбросить выделение всех соседних ссылок и применить его к данной (нажатой).
Если Вы формируете страницу на сервере при переходе по ссылке, то самое простое - это связать id ссылки и id страницы, и выставлять класс Active ссылке, которая соответсвует данной странице.
Если Вы хотите реализовать выделение локально, то тут лучший выход - использовать библиотеку JQuery:
<style>
a { color: blue; }
a.active { color: red; }
</style>
<div id="menu">
<a href='' onclick='selectMe(this); return false;'>Item1</a>
<a href='' onclick='selectMe(this); return false;'>Item2</a>
<a href='' onclick='selectMe(this); return false;'>Item3</a>
</div>
<script>
function selectMe(obj) {
$("#menu a").removeClass('active');
$(obj).addClass('active');
}
</script>
|
| |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 14:18)
| | спасибо - то что надо !! но что то ваш пример не пашет ..... что не так ? | |
|
|
|
|
|
|
|
для: mabelrod
(29.06.2010 в 15:06)
| | а JQuery подключена? | |
|
|
|
|
|
|
|
для: mabelrod
(29.06.2010 в 15:06)
| | А как вы думаете, будет ли прок от этого примера, если ссылка, это переход на новую страницу? | |
|
|
|
|
|
|
|
для: mabelrod
(29.06.2010 в 15:06)
| | Ну во-первых, Вы действительно не уточнили, какой из вариантов подходит Вам - локальный или серверный. Сначала определитесь, дальше посмотрим. | |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 15:42)
| | Вы ерунду какую-то предложили. Ссылка, это уже новая страница, а у вас?
Если уж и на клиенте, то нужно сравнивать адрес текущий с коллекцией ссылок меню, и менять у совпавшей стиль. | |
|
|
|
|
|
|
|
для: sim5
(29.06.2010 в 15:46)
| | А откуда Вы знаете, что ссылка у автора - это переход на новую страницу? Я описал два варианта, второй из них описал подробно. Может быть контент вообще формируется AJAXом. | |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 15:53)
| | А вы почему уверены, что она декоративная? Да и вообще, не один только тег А кликабельный, если уж на то пошло. | |
|
|
|
|
|
|
|
для: sim5
(29.06.2010 в 15:54)
| | Я это предположил по двум причинам:
- вопрос задан на форуме HTML+CSS+JS;
- "декоративные" ссылки нынче весьма популярны.
Однако, я подозреваю, что автору всё же нужна стандартная ссылка. Что ж, в этом случае, могу посоветовать такой php-код:
<a href='?item=1' class='<?php echo $_GET['item'] == '1' ? 'active' : ''?>'>item1</a>
<a href='?item=2' class='<?php echo $_GET['item'] == '2' ? 'active' : ''?>'>item1</a>
<a href='?item=3' class='<?php echo $_GET['item'] == '3' ? 'active' : ''?>'>item1</a>
|
Поскольку я опять-таки не знаю, как строится это "меню", не могу предложить универсального цикла и пр. | |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 16:06)
| | >- "декоративные" ссылки нынче весьма популярны.
Это от недостатка знаний может быть только.
Код на РНР - да, а вот предложенный на JS - нет, ибо, если автор говорит, что пользователь должен знать где находится, то переход надо полагать есть, и не декоративный. А тем более, если говорить о меню, как у вас в примере. | |
|
|
|
|
|
|
|
для: sim5
(29.06.2010 в 16:12)
| | Хорошо, если Вы считаете, что у меня недостаток знаний, то просвятите меня и скажите, почему динамический контент не популярен? Динамический - в смысле "формируемый локальным скриптом". | |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 16:17)
| | Я не говорю, что у вас недостаток знаний, я лишь сказал, что тулить везде якорь ради того чтобы получить руку с пальчиком и сделать щелчок, это глупо, и объяснение этому только одно - не хватает знаний.
Динамический контент, это еще не тег А с событием, и он тут совсем не причем. Просто суть вашего примера абсурдна, тем более, если вы пишите его как меню. Ну это ведь так. Можно конечно и "динамизмом" заняться, делая запрос по url иным способом, вместо декоративных ссылок, а стоит ли?
Я не против динамического содержания, но не такого. Проверить коллекцию ссылок, сравнив их атрибут href с текущим адресом, да еще в jQuery, дело плевое. Или это не динамизм? | |
|
|
|
|
|
|
|
для: sim5
(29.06.2010 в 16:31)
| | Окей, возможно абсурдность моего примера в том, что я подразумевал ещё некую функцию, формирующую контент:
function selectMe(obj) {
$("#menu a").removeClass('active');
$(obj).addClass('active');
generateContent($(obj).attr('id'));
}
|
В этом и состоял мой ошибочный, но тем не менее, работоспособный вариант.
А что касается сравнения атрибутов элементов DOM'а с URL на JS, то по мне так, это уже извращенство. | |
|
|
|
|
|
|
|
для: bishake
(29.06.2010 в 16:47)
| | Ну не я же извращаюсь, это вы на замечание абсурдности вашего предложения, стали рассуждать о динамизме. | |
|
|
|
|
|
|
|
для: sim5
(29.06.2010 в 16:51)
| | Хорошо, в следующий раз буду внимательнее :-) | |
|
|
|