За последние 24 часа нас посетили 22135 программистов и 1129 роботов. Сейчас ищут 886 программистов ...

JS Тормозит страница с таймером.

Тема в разделе "JavaScript и AJAX", создана пользователем daria174, 29 авг 2018.

  1. daria174

    daria174 Новичок

    С нами с:
    3 сен 2015
    Сообщения:
    52
    Симпатии:
    0
    Добрый день. Нужна была страница для показа даты и времени на ТВ. Есть код:
    Код (Text):
    1. $(document).ready( function clock(){
    2.     var intervalID;
    3.     Data = new Date();
    4.     month=new Array("января", "февраля", "марта", "апреля", "мая", "июня",
    5.             "июля", "августа", "сентября", "октября", "ноября", "декабря");
    6.     month_num = Data.getMonth()
    7.     day = Data.getDate();
    8.     Hour = Data.getHours();
    9.     Minutes = Data.getMinutes();
    10.     Seconds = Data.getSeconds();
    11.     if (Hour <=9) Hour = "0"+Hour;
    12.     if (Minutes <=9) Minutes = "0"+Minutes;
    13.     if (Seconds <=9) Seconds = "0"+Seconds;
    14.     $('#time').html('Текущее время: '+Hour+':'+Minutes+':'+Seconds);
    15.     $('#date').html('Дата: '+day+' '+month[month_num]+' '+Data.getFullYear()+'г.');
    16.    
    17.    
    18.     intervalID=setInterval(clock, 300);
    19. });
    Больше на странице ничего нет, со временем страница начинает жутко тормозить, секунды перескакивают по 10-20, а со временем вообще зависает, а при показе на ТВ зависает секунд через 15. Что я сделала неправильно? Как это исправить.
     
  2. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Нужно искать зацикливание, скорее всего твой таймер инициализируется не один десяток раз.
    Проверь console.log();

    Покажи clock

    Точно больше ничего на странице нет?:)
     
  3. daria174

    daria174 Новичок

    С нами с:
    3 сен 2015
    Сообщения:
    52
    Симпатии:
    0
    На странице только два DIVа и этот скрипт, сейчас смотрю другие часы и таймеры.
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @daria174, быть может стоит установку интервала вызова функции clock вынести за пределы этой самой функции? Ну и объявление переменной intervalID, соответственно.
     
    daria174 нравится это.
  5. daria174

    daria174 Новичок

    С нами с:
    3 сен 2015
    Сообщения:
    52
    Симпатии:
    0
    Абсолютно верно, спасибо, пока смотрела другие примеры нашла в чем ошибка была моя.