Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сылка выделить
 
 автор: mabelrod   (29.06.2010 в 11:51)   письмо автору
 
 

У меня вопрос: я нажимаю на ссылку - как сделать что бы после этого она была выделена цветом ?? ( как бы что бы пользователь видел где он находится ). спасибо.

  Ответить  
 
 автор: bishake   (29.06.2010 в 14:18)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: mabelrod   (29.06.2010 в 15:06)   письмо автору
 
   для: bishake   (29.06.2010 в 14:18)
 

спасибо - то что надо !! но что то ваш пример не пашет ..... что не так ?

  Ответить  
 
 автор: Valick   (29.06.2010 в 15:34)   письмо автору
 
   для: mabelrod   (29.06.2010 в 15:06)
 

а JQuery подключена?

  Ответить  
 
 автор: sim5   (29.06.2010 в 15:39)   письмо автору
 
   для: mabelrod   (29.06.2010 в 15:06)
 

А как вы думаете, будет ли прок от этого примера, если ссылка, это переход на новую страницу?

  Ответить  
 
 автор: bishake   (29.06.2010 в 15:42)   письмо автору
 
   для: mabelrod   (29.06.2010 в 15:06)
 

Ну во-первых, Вы действительно не уточнили, какой из вариантов подходит Вам - локальный или серверный. Сначала определитесь, дальше посмотрим.

  Ответить  
 
 автор: sim5   (29.06.2010 в 15:46)   письмо автору
 
   для: bishake   (29.06.2010 в 15:42)
 

Вы ерунду какую-то предложили. Ссылка, это уже новая страница, а у вас?
Если уж и на клиенте, то нужно сравнивать адрес текущий с коллекцией ссылок меню, и менять у совпавшей стиль.

  Ответить  
 
 автор: bishake   (29.06.2010 в 15:53)   письмо автору
 
   для: sim5   (29.06.2010 в 15:46)
 

А откуда Вы знаете, что ссылка у автора - это переход на новую страницу? Я описал два варианта, второй из них описал подробно. Может быть контент вообще формируется AJAXом.

  Ответить  
 
 автор: sim5   (29.06.2010 в 15:54)   письмо автору
 
   для: bishake   (29.06.2010 в 15:53)
 

А вы почему уверены, что она декоративная? Да и вообще, не один только тег А кликабельный, если уж на то пошло.

  Ответить  
 
 автор: bishake   (29.06.2010 в 16:06)   письмо автору
 
   для: 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>


Поскольку я опять-таки не знаю, как строится это "меню", не могу предложить универсального цикла и пр.

  Ответить  
 
 автор: sim5   (29.06.2010 в 16:12)   письмо автору
 
   для: bishake   (29.06.2010 в 16:06)
 

>- "декоративные" ссылки нынче весьма популярны.

Это от недостатка знаний может быть только.

Код на РНР - да, а вот предложенный на JS - нет, ибо, если автор говорит, что пользователь должен знать где находится, то переход надо полагать есть, и не декоративный. А тем более, если говорить о меню, как у вас в примере.

  Ответить  
 
 автор: bishake   (29.06.2010 в 16:17)   письмо автору
 
   для: sim5   (29.06.2010 в 16:12)
 

Хорошо, если Вы считаете, что у меня недостаток знаний, то просвятите меня и скажите, почему динамический контент не популярен? Динамический - в смысле "формируемый локальным скриптом".

  Ответить  
 
 автор: sim5   (29.06.2010 в 16:31)   письмо автору
 
   для: bishake   (29.06.2010 в 16:17)
 

Я не говорю, что у вас недостаток знаний, я лишь сказал, что тулить везде якорь ради того чтобы получить руку с пальчиком и сделать щелчок, это глупо, и объяснение этому только одно - не хватает знаний.
Динамический контент, это еще не тег А с событием, и он тут совсем не причем. Просто суть вашего примера абсурдна, тем более, если вы пишите его как меню. Ну это ведь так. Можно конечно и "динамизмом" заняться, делая запрос по url иным способом, вместо декоративных ссылок, а стоит ли?
Я не против динамического содержания, но не такого. Проверить коллекцию ссылок, сравнив их атрибут href с текущим адресом, да еще в jQuery, дело плевое. Или это не динамизм?

  Ответить  
 
 автор: bishake   (29.06.2010 в 16:47)   письмо автору
 
   для: sim5   (29.06.2010 в 16:31)
 

Окей, возможно абсурдность моего примера в том, что я подразумевал ещё некую функцию, формирующую контент:
function selectMe(obj) {
   $("#menu a").removeClass('active');
   $(obj).addClass('active');
   generateContent($(obj).attr('id'));

В этом и состоял мой ошибочный, но тем не менее, работоспособный вариант.

А что касается сравнения атрибутов элементов DOM'а с URL на JS, то по мне так, это уже извращенство.

  Ответить  
 
 автор: sim5   (29.06.2010 в 16:51)   письмо автору
 
   для: bishake   (29.06.2010 в 16:47)
 

Ну не я же извращаюсь, это вы на замечание абсурдности вашего предложения, стали рассуждать о динамизме.

  Ответить  
 
 автор: bishake   (29.06.2010 в 16:54)   письмо автору
 
   для: sim5   (29.06.2010 в 16:51)
 

Хорошо, в следующий раз буду внимательнее :-)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования