Я делаю простое приложение погоды, которое выводит результаты из API с помощью руля. Проблема в том, что я сейчас пытаюсь настроить простой температурный переключатель.
Когда я пытаюсь использовать InnerHTML для изменения текста, который он меняет в течение 1/4 секунды (я вижу, что он меняется на правильное значение, а console.log также выводит правильное значение), затем он возвращается к его первоначальная стоимость.
Я искал и читал, что InnerHTML обновляет этот элемент, чтобы работал другой метод, например innerText, но у него та же проблема. Кнопка Toggle такая же, она не меняет свой текст.
const changeScale = () => {
let tempToggle = document.querySelector(".tempToggle");
let weatherTemp = document.getElementById("temp");
let forecastTemp = document.querySelectorAll(".forecasttemp");
if (tempToggle.innerText == "F") {
tempToggle.innerText = "C";
console.log(tempToggle.innerText);
let output = weatherTemp.innerText * 9 / 5 + 32;
weatherTemp.innerText = output;
let i;
for (i = 0; i < forecastTemp.length; i++) {
forecastTemp[i].innerHTML = forecastTemp[i].innerHTML * 9 / 5 + 32;
}
}
if (tempToggle.innerHTML == "C") {
tempToggle.innerHTML = "F";
console.log(tempToggle.innerHTML);
weatherTemp.innerHTML = (weatherTemp.innerHTML - 32) * 5 / 9;
}
}