Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.08.2019, 18:45
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

остался один вопросик, как сделать ежесекундное обновление дива?

<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            div {
                font: 14px serif;
                border: 1px solid #ccc;
                padding: 5px;
                margin-bottom: 5px;
                text-align: center;
            }
            #block_time-data {
            display: inline-block;
            white-spage: nowrap; }
            span { display: inline-block;
            white-space: nowrap; }
            #hours, #min, #sec {  }
            
            .colon { color: hsl(0, 0%, 60%); }
        </style>
    </head>
    <body>
        <div id="block_time-data">
        <span id="hours"></span><span class="colon">:</span><span id="min"></span><span class="colon">:</span><span id="sec"></span><br>
        <span id="day"></span><br>
        <span id="date"></span>
        <span id="month_name"></span>(<span id="month"></span>)
        <span id="year"></span>
        г.
        </div>
        <script>
            var hours = document.getElementById('hours');
            var minutes = document.getElementById('min');
            var seconds = document.getElementById('sec');
            var day = document.getElementById('day');
            var date_name = document.getElementById('date');
            var month = document.getElementById('month');
            var month_name = document.getElementById('month_name');
            var year = document.getElementById('year');
 
            var date = new Date();
            var days = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'];
            var monthes = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
 
            hours.innerHTML = date.getHours();
            minutes.innerHTML = date.getMinutes();
            seconds.innerHTML = date.getSeconds();
 
            day.innerHTML = days[date.getDay()]; 
            date_name.innerHTML = date.getDate();
            month.innerHTML = date.getMonth()+1;
            month_name.innerHTML = monthes[date.getMonth()];
            year.innerHTML = date.getFullYear();
            [hours, min, sec, date_name, month].forEach(function(el) {
               el.innerHTML = ("0"+ el.innerHTML).slice(-2)
             })
         </script>
    </body>
</html>
Ответить с цитированием
  #12 (permalink)  
Старый 14.08.2019, 18:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Блондинка,
(function timer()
{
 //сюда строки 42, 46 - 57
 window.setTimeout(timer, 1000);
})()
Ответить с цитированием
  #13 (permalink)  
Старый 15.08.2019, 03:04
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Есть десять цветов hsl(0, 0%, 54%) hsl(0, 0%, 48%) hsl(0, 0%, 42%) hsl(0, 0%, 36%) hsl(0, 0%, 30%) hsl(0, 0%, 24%) hsl(0, 0% 18%) hsl(0, 0%, 12%) hsl(0, 0%, 6%) hsl(0, 0%, 0%), возможно ли сделать чтобы <span class="colon"> менял цвет от светлосерого до чёрного с интервалом в 100 милисекунд?
<!DOCTYPE html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      div {
        font: 14px serif;
        border: 1px solid #ccc;
        padding: 5px;
        margin-bottom: 5px;
        text-align: center;
        }
        #block_time-data {
        display: inline-block;
        white-spage: nowrap; }
        span { display: inline-block;
        white-space: nowrap; }
        #hours, #min, #sec {  }
        colon { color: hsl(0, 0%, 54%); }
        </style>
    </head>
    <body>
        <div id="block_time-data">
        <span id="hours"></span><span class="colon">:</span><span id="min"></span><span class="colon">:</span><span id="sec"></span><br>
        <span id="day"></span><br>
        <span id="date"></span>
        <span id="month_name"></span>(<span id="month"></span>)
        <span id="year"></span>
        г.
        </div>
    <script>
      var hours = document.getElementById('hours');
      var minutes = document.getElementById('min');
      var seconds = document.getElementById('sec');
      var day = document.getElementById('day');
      var date_name = document.getElementById('date');
      var month = document.getElementById('month');
      var month_name = document.getElementById('month_name');
      var year = document.getElementById('year');
      var days = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'];
      var monthes = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
      (function timer()
      {
      var date = new Date();
      hours.innerHTML = date.getHours();
      minutes.innerHTML = date.getMinutes();
      seconds.innerHTML = date.getSeconds();
      day.innerHTML = days[date.getDay()]; 
      date_name.innerHTML = date.getDate();
      month.innerHTML = date.getMonth()+1;
      month_name.innerHTML = monthes[date.getMonth()];
      year.innerHTML = date.getFullYear();
      [hours, min, sec, date_name, month].forEach(function(el) {
      el.innerHTML = ("0"+ el.innerHTML).slice(-2)
      })
      window.setTimeout(timer, 1e3);
      })()
    </script>
  </body>
</html>

Последний раз редактировалось Блондинка, 15.08.2019 в 03:44.
Ответить с цитированием
  #14 (permalink)  
Старый 15.08.2019, 04:07
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

P. S. использовать css-свойство animation нежелательно, поскольку загрузка страницы происходит в разные моменты времени, а не точно в 000 милисекунд, и анимация начнет работать асинхронно с обновлением секунд...
Ответить с цитированием
  #15 (permalink)  
Старый 15.08.2019, 04:27
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Блондинка
это я знаю, надо было именно массив...
зачем? такого же результата как у вас, рамка с часами и датой можно добиться гораздо проще.

Сообщение от Блондинка
возможно ли сделать чтобы <span class="colon"> менял цвет от светлосерого до чёрного с интервалом в 100 милисекунд?
<span class="colon" style="font-size: 100px">:</span>
  <script>
     var colon = document.querySelectorAll('.colon'), i=0;
    (function timer() {
      i = i ? i-6 : 54;
      colon.forEach(el=>el.style.color = 'hsl(0, 0%, '+i+'%)');
      setTimeout(timer, 100);
    })();
</script>
Ответить с цитированием
  #16 (permalink)  
Старый 15.08.2019, 04:32
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

функцию timer можно использовать одну, время обновлять по условию
Ответить с цитированием
  #17 (permalink)  
Старый 15.08.2019, 06:15
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Сообщение от j0hnik Посмотреть сообщение
зачем? такого же результата как у вас, рамка с часами и датой можно добиться гораздо проще.
в массив можно внести сокращенные названия месяцев, можно менять окончания названий, можно изменить регистр букв заглавные/прописные, можно заменить на римские цифры и т. д.

а можно скрипт попроще, типа массив из десяти цветов(неажно в каком формате hex, rgb, hsl) и просто изменение цвета с интервалом в 100 милисекунд...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распарсить строку дата, время. регулярка. sign63 Общие вопросы Javascript 3 08.08.2016 23:32
Введена сегодняшняя дата? Hold Javascript под браузер 6 08.12.2014 20:50
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Дата и время kilogram Серверные языки и технологии 4 05.06.2012 12:09