Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2015, 01:07
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

Выделение активного пункта меню
Привет!
Выделение активного пункта меню
есть рабочий код, он исправно работает и подсвечивает другим светом активное меню
в меню есть 3 ссылки

http://test/index.php?search=mama
http://test/index.php?search=papa
http://test/index.php?search=ya

ссылка из меню будет подсвечена если я введу саму ссылку вида http://test/index.php?search=papa
в поисковой строке браузера то ее подсветит другим светом

Но у меня есть проблема, я перешол на станицу http://test/index.php?search=papa
у меня есть пагинация идут страницы потом такого вида
http://test/index.php/page2?search=papa
и все кирдык подсветка активного пункта меню (papa) слетает
как решить мне эту задачу? чтобы пункт меню (papa) был активен даже если я перейду по ссылке
http://test/index.php/page2?search=papa
или
http://test/index.php/page33?search=papa
или любой другой номер страницы!

Спасибо.





<style>
#menu ul li a{
	text-decoration:underline;
}
#menu ul li a:hover {
	color:#4996e5;
}
#menu ul li a.active{
	color:#4996e5;
	text-decoration:none;
}
</style>


<script>
$(function () {                                      
    $('#menu a').each(function () {             
        var location = window.location.href; 
        var link = this.href;                
        if(location == link) {               
            $(this).addClass('active');  
        }
    });
});	
</script>


<div id="menu">
  <ul>
    <li><a href="http://test/index.php?search=mama">mama</a></li>
    <li><a href="http://test/index.php?search=papa">papa</a></li>
    <li><a href="http://test/index.php?search=ya">ya</a></li>
  </ul>
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2015, 01:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

sergofedor06,
зачем засорять форум? создали тему, зачем ещё-то?
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2015, 01:33
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

почему засорять, тут уникальное описание его нигде не постил
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2015, 01:35
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

в тех темах может сложно описал! тут вроде проще у меня вышло передать свои мысли, может кто что подскажет.
Ответить с цитированием
  #5 (permalink)  
Старый 23.11.2015, 01:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от sergofedor06
почему засорять, тут уникальное описание его нигде не постил
офигеть
http://javascript.ru/forum/misc/59682-ehffekt-s-ssylkojj.html
Ответить с цитированием
  #6 (permalink)  
Старый 23.11.2015, 01:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

sergofedor06,
<style>
#menu ul li a{
     font-size: 24px;
	text-decoration:underline;
}
#menu ul li a:hover {
	color:rgba(255, 0, 0, 1);
}
#menu ul li a.active{
	color: rgba(255, 0, 0, 1);
	text-decoration:none;
}
</style>

<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(function () {
        var search = window.location.search;
        search = decodeURIComponent(search);   
        $("[href$='"+search+"']").addClass('active');


});
</script>


<div id="menu">
  <ul>
    <li><a href="?search=mama">mama</a></li>
    <li><a href="?search=papa">papa</a></li>
    <li><a href="?search=ya">ya</a></li>
  </ul>
</div>

Последний раз редактировалось рони, 23.11.2015 в 11:24.
Ответить с цитированием
  #7 (permalink)  
Старый 23.11.2015, 11:01
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

Спасибо, работает но не совсем корректно.
к примеру я перехожу по ссылке
<li><a href="?search=papa">papa</a></li>
этот пункт меню у меня подсвечивается красным, далее идет к примеру постраничная навигация
выглядит так страница
http://test/index.php/page2?search=papa

тоже все ок! меню (papa) подсвечивается, и значит я к примеру сейчас нахожусь на странице http://test/index.php/page2?search=papa
и потом решаю перейти на другой пунк меню
к примеру (mama) и тут открывается страница не вида http://test/index.php?search=mama
а вида
http://test/index.php/page2?search=mama
а должно открывать главную страницу http://test/index.php?search=mama
Ответить с цитированием
  #8 (permalink)  
Старый 23.11.2015, 11:02
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

как убрать эту наследственность page2
чтобы page2 или page3 и всех остальных номеров не прибавлялись
Ответить с цитированием
  #9 (permalink)  
Старый 23.11.2015, 11:08
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

да и такой вариант работает только с латиницей

<div id="menu">
<ul>
<li><a href="?search=mama">mama</a></li>
<li><a href="?search=papa">papa</a></li>
<li><a href="?search=ya">ya</a></li>
</ul>
</div>


если кириллица, так то не подсвечивает меню вообще!

<div id="menu">
<ul>
<li><a href="?search=мама">мама</a></li>
<li><a href="?search=папа">папа</a></li>
<li><a href="?search=я">я</a></li>
</ul>
</div>

почему так?
Ответить с цитированием
  #10 (permalink)  
Старый 23.11.2015, 11:19
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

мой вариант работает с кириллицей!



<style>
#menu ul li a{
	text-decoration:underline;
}
#menu ul li a:hover {
	color:#4996e5;
}
#menu ul li a.active{
	color:#ed0b30;
	text-decoration:none;
}
</style>

<script>
$(function () {                                      
    $('#menu a').each(function () {             
        var location = window.location.href; 
        var link = this.href;                
        if(location == link) {               
            $(this).addClass('active');  
        }
    });
});	
</script>



<div id="menu">
  <ul>
<li><a href="?search=мама">мама</a></li>
<li><a href="?search=папа">папа</a></li>
<li><a href="?search=я">я</a></li>
  </ul>
</div>



только остается проблема, что описал выше......

меню (papa) подсвечивается, и значит я к примеру сейчас нахожусь на странице http://test/index.php/page2?search=papa
и потом решаю перейти на другой пункт меню
к примеру (mama) и тут открывается страница не вида http://test/index.php?search=mama
а вида
http://test/index.php/page2?search=mama
а должно открывать главную страницу http://test/index.php?search=mama
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активного пункта меню lemoral (X)HTML/CSS 1 13.04.2015 08:18
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Выделение активного пункта меню при ajax запросе faecker AJAX и COMET 6 04.09.2014 19:14
Выделение активного пункта меню. Нужен совет! kirian222 Элементы интерфейса 14 17.10.2013 02:50
Выделение активного пункта меню blyskawka Javascript под браузер 2 28.10.2012 12:48