Изменение метки элемента вставленного шаблона руля отменяет изменение - PullRequest
0 голосов
/ 08 марта 2019

Я делаю простое приложение погоды, которое выводит результаты из 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;

    }

}
...