한 페이지에 여러 실제 시간을 표시하고 싶습니다. 스크립트는 작동하지만 사용자에게는 그리 효율적이지 않습니다. 내가 지금 아마추어 같은 느낌 ...자바 스크립트 실제 시간 (GetElementById)
내 스크립트는이 권리는 지금 :
<script>
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time2').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time3').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time4').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time5').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time6').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time7').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time8').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time9').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time10').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time11').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time12').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
document.getElementById('time13').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
</script>
은이 작업을 수행 할 수있는 매우 효율적인 방법은 아니다 ...
누구나 더 좋은 방법?
미리 감사드립니다. 또한
은 '시간 표시'와 같은 클래스 귀하의 모든 요소를 부여 후'배열을 .for (document.querySelectorAll ('. time-display')). forEach (el => el.textContent = h + ':'+ m + ':'+ s); 또는 당신이 모든 최신 유행을 원한다면 ... [... document.querySelectorAll ('. 시간 표시')]. forEach (el => el.textContent = \'$ {h} : $ {m} : $ {s } \');'. –
startTime 함수에서 setTimeout을 한 번 호출하면됩니다. – James