Как сделать кнопку постоянно активной?

Делаю переключение языков на сайте через 2 кнопки, есть отельный файл с переводами каждого класса, при нажатии на кнопку язык переключает без ошибок, но всего на долю секунды. Как решить?

buttonUA.addEventListener('click', changeURLLanguageUA);
buttonEN.addEventListener('click', changeURLLanguageEN);

// Перенаправляет URL с указанием языка
function changeURLLanguageUA(){
 let lang = buttonUA.value;
 location.href = window.location.pathname + '#'+lang;
 location.reload();
}
function changeURLLanguageEN(){
 let lang = buttonEN.value;
 location.href = window.location.pathname + '#'+lang;
 location.reload();
}

// Функции перевода
buttonUA.addEventListener('click', function() {
 hash = buttonUA.value
 for (let key in langland) {
    document.querySelector('.lng-' + key).innerHTML = langland[key][hash];
  }
});
buttonEN.addEventListener('click', function() {
 hash = buttonEN.value
 for (let key in langland) {
    document.querySelector('.lng-' + key).innerHTML = langland[key][hash];
  }
});

Ответы (1 шт):

Автор решения: Алексей Шиманский

У вас два обработчика клика на каждую из кнопок. Один обработчик переводит данные, другой - перенаправляет. Получается, что вначале успевает один сработать, потом происходит перезагрузка страницы. Вы определитесь что вы хотите. Скорее всего вам надо перевод данных делать не по клику на кнопку а после перезагрузки страницы, т.е. на событии DOMContentLoaded

document.addEventListener("DOMContentLoaded", function(event) {
    ... тут код    
    ... считываем хэш из URL     
    ... вызываем функцию перевода с передачей туда значение хэша
    ... ПРИ ЭТОМ ФУНКЦИЯ ПЕРЕВОДА ОСТАНЕТСЯ ОДНА....этого достаточно
});
→ Ссылка