setInterval не обновляет sh данных каждую секунду - PullRequest
0 голосов
/ 21 февраля 2020

var today = new Date();
var day = today.getDay()
var month = today.getMonth();
var year = today.getFullYear()
var date = (today.getMonth() + 1) + '/' + today.getDate() + '/' + today.getFullYear();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date + ' ' + time;

function dateTimeClock() {
  $('#today').text(today);
  $('#day').text(day);
  $('#month').text(month);
  $('#year').text(year);
  $('#date').text(date);
  $('#time').text(time);
  $('#dateTime').text(dateTime);
}

setInterval(dateTimeClock, 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<p id="today"></p>
<p id="day"></p>
<p id="month"></p>
<p id="year"></p>
<p id="date"></p>
<p id="time"></p>
<p id="dateTime"></p>

Может кто-нибудь сказать, почему мой setInterval не включается?

Я ожидаю, что мои данные будут обновляться sh каждую секунду.

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Ваши переменные времени вызываются только один раз, поэтому их значение не меняется.

Попробуйте вызвать переменные времени из вашей dateTimeClock функции:

function dateTimeClock() {
var today = new Date();
var day = today.getDay()
var month = today.getMonth();
var year = today.getFullYear()
var date = (today.getMonth() + 1) + '/' + today.getDate() + '/' + today.getFullYear();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date + ' ' + time;


  $('#today').text(today);
  $('#day').text(day);
  $('#month').text(month);
  $('#year').text(year);
  $('#date').text(date);
  $('#time').text(time);
  $('#dateTime').text(dateTime);
}

setInterval(dateTimeClock, 1000);
1 голос
/ 21 февраля 2020

переменная для даты определяется вне интервала, поэтому она не обновляется. чтобы исправить это, вам нужно включить его в функцию dateTimeClock


function dateTimeClock() {

var today = new Date();
var day = today.getDay()
var month = today.getMonth();
var year = today.getFullYear()
var date = (today.getMonth() + 1) + '/' + today.getDate() + '/' + today.getFullYear();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date + ' ' + time;
  $('#today').text(today);
  $('#day').text(day);
  $('#month').text(month);
  $('#year').text(year);
  $('#date').text(date);
  $('#time').text(time);
  $('#dateTime').text(dateTime);
}

setInterval(dateTimeClock, 1000);
...