@SpideR-KOSS

Автообновление по id Javascript?

Добрый день!
Есть простой код с двумя функциями.
Первая функция смотрит текущее время и присваивает значения переменным.
Вторая функция должна выполнить первую функцию, и вывести результат в браузер, а именно изменить данные в id.
Все работает при ручном обновлении страницы, а автоматически при использовании setInterval нет. Почему?
Код:
<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
<body>
<div>
<span>№1: <span id="test_1"></span></span>
<span>№2: <span id="test_2"></span></span>
<span>№3: <span id="test_3"></span></span>
</div>
</body>
<script>
var D = new Date(); // Получение текущего времени
var D_M = D.getMinutes(); // Минуты

var a = 1;
var b = 2;
var c = 3;
var d = 4;
var e = 5;
var f = 6;

function Test(){
        switch (D_M){
            case 01:
            a = b;
            c = d;
            e = f;
            break;
    
            case 02:
            a = f;
            c = b;
            e = d;
            break;
    
            case 03:
            a = d;
            c = f;
            e = b;
            break;
        };
        }

function Test1(){
        Test();
        document.getElementById('test_1').innerHTML = a;
        document.getElementById('test_2').innerHTML = b;
        document.getElementById('test_3').innerHTML = c;
        }
        setInterval(Test1, 1000);
</script>
</html>
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Вы время получаете один раз при инициализации и значения никогда не меняются. Перенесите получение времени в функцию Test:
function Test(){
  var D = new Date(); // Получение текущего времени
  var D_M = D.getMinutes(); // Минуты
  /* остальной код функции */
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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