자바 스크립트에서 카운트 다운 시계를 만들고 정확히 원하는 형식으로 지정하는 데 문제가 있습니다. 기본적으로 totalTime이라는 변수가 있습니다.이 변수는 초기에 카운트 다운이 실행될 총 시간 (초)으로 설정됩니다. 매초마다이 숫자는 1 씩 감소하며 페이지에 표시하기 위해 분과 초로 변환합니다.자바 스크립트에서 카운트 다운 시계 만들기
위로 올라가고있는 것은 총 시간의 초기 값이 600 (10:00) 이상인 경우에만 앞에 0을 남겨 두는 것입니다. 따라서 totalTime을 600으로 설정하면 카운트 다운이 10:00, 09:59, 09:58 등으로 표시되기를 원합니다 (앞에 0이 표시됨). 그러나 totalTime을 300으로 설정하면 카운트 다운이 5:00, 4:59, 4:58 등으로 표시되기를 원합니다.
다른 말로하면 카운트 다운이 시작되는 시간을 기준으로 선행 0이 표시되어야합니다 off (totalTime의 초기 값), 이 아님 현재 남아있는 시간 (totalTime의 현재 값). 어떻게하면 좋을까요?
편집 : 여기에 내가 현재 가지고있는 코드입니다 : http://jsfiddle.net/JFYaq/
// Get the countdown element
var countdown = document.getElementById("countdown");
// Set the total time in seconds
var totalTime = 600;
// Every second...
var interval = setInterval(function(){
// Update the time remaining
updateTime();
// If time runs out, stop the countdown
if(totalTime == -1){
clearInterval(interval);
return;
}
}, 1000);
// Display the countdown
function displayTime(){
// Determine the number of minutes and seconds remaining
var minutes = Math.floor(totalTime/60);
var seconds = totalTime % 60;
// Add a leading 0 to the number of seconds remaining if it's less than 10
if (seconds < 10){
seconds = "0" + seconds;
}
// Split the number of minutes into two strings
var minutesString = minutes + "";
var minutesChunks = minutesString.split("");
// Split the number of seconds into two strings
var secondsString = seconds + "";
var secondsChunks = secondsString.split("");
// If the total time is 10 minutes or greater...
if (totalTime >= 600){
// Add a leading 0 to the number of minutes remaining if it's less than 10
if (minutes < 10){
minutes = "0" + minutes;
}
// Display the time remaining
countdown.innerHTML = "<span>" + minutesChunks[0] + "</span>" + "<span>" + minutesChunks[1] + "</span>" + ":" + "<span>" + secondsChunks[0] + "</span>" + "<span>" + secondsChunks[1] + "</span>";
}
// If the total time is less than 10 minutes...
else {
// Display the time remaining without a leading 0 on the number of minutes
countdown.innerHTML = "<span>" + minutes + "</span>" + ":" + "<span>" + secondsChunks[0] + "</span>" + "<span>" + secondsChunks[1] + "</span>"
}
}
// Update the time remaining
function updateTime(){
displayTime();
totalTime--;
}
// Start the countdown immediately on the initial pageload
updateTime();
당신이 작성한 코드를 게시 할 수 있습니까? –
JSFiddle에 대한 링크로 업데이트되었습니다. (어떤 이유로 든 게시물 내에 올바르게 코드를 작성할 수 없습니다.) – daGUY