@Denis_8106

Как проверить хеш URL?

Есть мультиязычный сайт, с двумя кнопками (en/fr)
<div class="lang">
          <a href="#en" id="lang-en">EN</a>
          <a href="#fr" id="lang-fr">FR</a>
        </div>


Хочу по хешу в URL, добавлять к кнопкам стили через добавление class. Есть такой набросок, но он не работатет:
const langEn = document.querySelector('#lang-en');
const langFr = document.querySelector('#lang-fr');

if (window.location.hash === '#en') {
	langEn.classList.add('active');
	langFr.classList.remove('active');
} else {
	langFr.classList.add('active');
	langEn.classList.remove('active');
}


Помогите решить задачку. Заранее спасибо.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@Azperin
Дилетант
Если уж пошла такая пьянка, не проще чтото вроде такого сделать ?
window.addEventListener("hashchange", (e) => {

	document.querySelectorAll('.lang > a').forEach(el = el.classList.remove('active'));
	
	switch(location.hash) {
		case '#en': document.getElementById('lang-en').classList.add('active'); break;
		case '#fr': document.getElementById('lang-fr').classList.add('active'); break;
		default: break;
	};
	
}, false);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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