|
28.05.2012, 16:26
|
Интересующийся
|
|
Регистрация: 08.05.2012
Сообщений: 11
|
|
Сохранить кнопку активной при переходе на другую страницу
Добрый день, у меня возникла необходимость сохранять кнопку активной при переходе на другую страницу. Кнопка является пунктом меню. Меню огранизовано в виде списка.
То есть, если нажали на главную - то произошел переход на главную и главная остается активной до тех пор, пока не будет выбрана другая кнопка.
Я рассчитывал сделать так: присвоить каждому элементу списка id, считывать значение location.href и в зависимости от этого значения присваивать определенный класс нужному id.
Но такой прием у меня не работает. Скажите, пожалуйста, что же я делаю не так и как сделать правильно?
Заранее спасибо!!!
Вот мое меню:
<ul>
<li id="home"><a href="http://lws.ru/index.php?route=information/information&information_id=6">Главная</a></div></li>
<li id="catalogue"><a href="http://lws.ru/index.php?route=information/information&information_id=7">Каталог</a></li>
<li id="portfolio"><a href="http://lws.ru/index.php?route=information/information&information_id=8">Портфолио</a></li>
<li id="sale"><a href="http://lws.ru/index.php?route=information/information&information_id=9">Как купить?</a></li>
</ul>
|
|
28.05.2012, 17:33
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от georg
|
Но такой прием у меня не работает. Скажите, пожалуйста, что же я делаю не так и как сделать правильно?
|
Всё. так одностраничные сайты организовывать как минимум дурной тон
Сообщение от georg
|
присвоить каждому элементу списка id, считывать значение location.href и в зависимости от этого значения присваивать определенный класс нужному id.Но такой прием у меня не работает. Скажите, пожалуйста, что же я делаю не так и как сделать правильно?
|
а должно. слеш смущает -но не факт. в дальнейшем коде что то не то делаете.
|
|
28.05.2012, 17:58
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от georg
|
Сохранить кнопку активной при переходе на другую страницу
|
<style>
ul li[id] a[id]:hover,
ul li[id] a[id]:focus,
ul li[id] a[id]:active{
color:red;
}
</style>
|
|
28.05.2012, 19:51
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Deff
|
1 <style>
2 ul li[id] a[id]:hover,
3 ul li[id] a[id]:focus,
4 ul li[id] a[id]:active{
5 color:red;
6 }
7 </style
|
перейдёт на 10 страниц и 10 ссылок будут выделены при аякс. при перезагрузке страницы не будет выделена ни одна
|
|
28.05.2012, 20:08
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от dmitriymar
|
перейдёт на 10 страниц и 10 ссылок будут выделены при аякс. при перезагрузке страницы не будет выделена ни одна
|
Попробуйте сохранять активную ссылку в window.name или coocie и устанавливать при загрузке страницы
Гы - появляются новые вводные, не заявленые старт топике
Последний раз редактировалось Deff, 28.05.2012 в 20:21.
|
|
28.05.2012, 20:23
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Deff
|
Гы - появляются новые вводные, не заявленые старт топике
|
с чего это ? у него обычная передача данных между страницами методом гет ,либо аякс запрос со слушателем на родителе выше
|
|
28.05.2012, 20:36
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от dmitriymar
|
у него обычная передача данных между страницами методом гет ,либо аякс запрос со слушателем на родителе выше
|
Где это Вы вычитали - мну не увидел...
Последний раз редактировалось Deff, 28.05.2012 в 21:15.
|
|
28.05.2012, 20:58
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Deff
|
Где это Вы вычитали - мну не увидел...(если в другом топике - я прост здесь недавно
|
его код это подразумевает -это раз
Сообщение от georg
|
То есть, если нажали на главную - то произошел переход на главную и главная остается активной до тех пор, пока не будет выбрана другая кнопка.
|
-а это два
|
|
29.05.2012, 00:20
|
|
Аспирант
|
|
Регистрация: 08.09.2011
Сообщений: 67
|
|
Если страница перезагружается тогда можно на PHP $_SERVER['REQUEST_URI'],
а если не перезагружается тогда сперва удаляете класс скажем "activa" и добавляете тот же "active" к нужному id
$('.menu a').click(function(){
$('.menu').removeClass('active');
$(this).addClass('active');
});
|
|
02.06.2012, 11:52
|
|
Аспирант
|
|
Регистрация: 08.09.2011
Сообщений: 67
|
|
Вот кстати самому пришлось делать, решил таким способом:
$(window).load(function () {
var url = location.pathname;
$('#topmenu li').each(function() {
var href = $(this).find('a').attr('href')
if(url == href) {
$(this).addClass("active");
}
});
});
|
|
|
|