Задать вопрос

Как сохранить состояние элемента измененного JavaScript при обновлении страницы?

Делаю меню для сайта, стандарт вида:

<li><a href="/" onclick="cssClick(this)" class="notactive">Главная</a></li>
<li><a href="/pricelist/" onclick="cssClick(this)" class="notactive">Цены</a></li>
<li><a href="/analysis/" onclick="cssClick(this)" class="notactive">Анализ</a></li>
<li><a href="/directory/" onclick="cssClick(this)" class="notactive">Справочник</a></li>
<li><a href="/contacts/" onclick="cssClick(this)" class="notactive">Контакты</a></li>


Соответственно для украшательства отлавливается нажатие на ссылку с изменением класса 'nonactive' на 'active' . Написал скрипт:
function cssClick(a){
        arg=document.getElementsByClassName('cssactive');
        if (arg) {
            for (var i = 0; i<arg.length; i++) {
                arg[i].className='notactive';
            }
        }
        a.className='active';

    }

При разработке, когда ссылки никуда не указывали, все работало нормально. Сейчас получается, что при нажатии на ссылку (пункт меню) осуществляется переход на др страницу со сбросом стилей всех пунктов в 'notactive'
Вопрос: как сделать так, чтобы при переходе/обновлении стиль выбранного пункта меню сохранялся как 'active', соответственно указывая, что выбран именно этот пункт.
  • Вопрос задан
  • 2864 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 3
IonDen
@IonDen
JavaScript developer. IonDen.com
На активной странице, класс active должен быть прописан на пункте меню изначально при загрузке, т.е. javascript тут вообще не при чем. Если страницы генерируются сервером динамически, то это должен сделать сервер.

И вообще, делать это на стороне клиента - не правильное проектирование.
Ответ написан
printf
@printf
Ем детей.
Проверять при загрузке страницы, в каком мы разделе сайта, и выставлять active.
Ответ написан
Комментировать
делать проверку, на какой странице находишься, и соответственно выставлать класс.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AlikDex
ставить куку - адрес из href'a ссылки раздела, при клике. А при загрузке проверять куку + сверять с урлом в строке и выставлять класс согласно результату. Но имхо это геморно, проще со стороны сервера подсвечивать активный раздел.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы