Я вижу несколько проблем, которые могут вызвать у вас
1) Вы определили свою функцию как displayCurrentTime
(которая работает), но затем полностью перезаписали ее строкой var displayCurrentTime = $("minutes")
. Таким образом, вместо вызова функции вы получите элемент - Ваш console.log () сразу после, поэтому вы видите нулевое значение
2) Вы говорите: «4 идентификатора диапазона в HTML-файле (часы, минуты, секунды и амперметр), которые необходимо заполнить», но ваш сценарий просто возвращает все эти поля, объединенные вместе - это вам не полезно, но у вас естьвсе правильные значения уже есть в функции
var displayCurrentTime = function() {
var currentTime = new Date ();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
minutes = ( minutes < 10 ? "0" : "" ) + minutes;
seconds = ( seconds < 10 ? "0" : "" ) + seconds;
var ampm = ( hours < 12 ) ? "AM" : "PM";
hours = ( hours > 12 ) ? hours - 12 : hours;
hours = ( hours == 0 ) ? 12 : hours;
// At this point, all 4 values are ready to drop into your span tags
$('hours').textContent = hours;
$('minutes').textContent = minutes;
$('seconds').textContent = seconds;
$('ampm').textContent = ampm;
}
3) Ваш setInterval вызывается неправильно, он должен выглядеть следующим образом:
window.onload = function() {
setInterval(displayCurrentTime, 1000);
};
Вот кодовая ручка с этими изменениями