HelenStar
@HelenStar
Начинающий frontend

Как выполнить скрипт при переходе по ссылке на новую страницу?

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

Пробовала так, но не работает:
var H = location.hash; 
function OpenDiv(H) { 
H.toggleClass('active'); 
}; 
if (document.getElementById (H)) { 
OpenDiv(H); 
};

<a href="javascript:void(0)" onClick="OpenDiv('web')" class="link-new">


Пробовала даже так:
function OpenDiv() {
        $('#web').toggleClass('active');
    };

<a href="instruments.html#web" onClick="javascript: OpenDiv()" class="link-new">


Все из советов в сети. Не знаю, как сделать, ибо в js не сильна.
  • Вопрос задан
  • 4678 просмотров
Пригласить эксперта
Ответы на вопрос 2
OKyJIucT
@OKyJIucT
Sunshine reggae
В URL добавляйте параметр, и проверяйте его наличие на новой странице.

К ссылке добавляем параметр opendiv=web
<a href="http://site.ru/page.html?opendiv=web" class="link-new">


и на новой странице вставьте такой JS-код
function $_GET(key) {
	var s = window.location.search;
	s = s.match(new RegExp(key + '=([^&=]+)'));
	return s ? s[1] : false;
}

$(document).ready(function() {
    if($_GET['opendiv'] == 'web') {
        $('#web').toggleClass('active');
    }
});

который проверяет, есть ли в URL такой параметр, и если есть, то он открывает див с id="web".
Ответ написан
как вариант записывать какой то "флаг" в localstorage и чекать его при загрузке страницы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы