2015-07-08 1 views
0

Я пытаюсь сделать таймер обратного отсчета с помощью javascript, но есть две вещи, которые я не могу изменить, - это две цифры, которые должны отображаться так: «01:00» Но вместо этого он выглядит так: «1: 9» , и frase, которые показывают помимо таймера, который является «Это справедливо только для следующего». Я пытаюсь удалить его, и я потерпел неудачу.Как сделать 2 цифры в минутах и ​​секундах и удалить текст, который находится рядом с таймером?

<html> 
    <head> 
<title>Countdown</title> 
<script type="text/javascript"> 
// set minutes 
var mins = 20; 

// calculate the seconds (don't change this! unless time progresses at a   different speed for you...) 
var secs = mins * 60; 
function countdown() { 
setTimeout('Decrement()',1000); 
} 
function Decrement() { 
if (document.getElementById) { 
    minutes = document.getElementById("minutes"); 
    seconds = document.getElementById("seconds"); 
    // if less than a minute remaining 
    if (seconds < 59) { 
     seconds.value = secs; 
    } else { 
     minutes.value = getminutes(); 
     seconds.value = getseconds(); 
    } 
    secs--; 
    setTimeout('Decrement()',1000); 
} 
} 
function getminutes() { 
// minutes is seconds divided by 60, rounded down 
mins = Math.floor(secs/60); 
return mins; 
} 
function getseconds() { 
// take mins remaining (as seconds) away from total seconds remaining 
return secs-Math.round(mins *60); 
} 
</script> 
</head> 
<body> 

<div id="timer"> 
This is only valid for the next <input id="minutes" type="text" style="width: 60px; border: none; background-color:none; font-size: 50px; font-weight: bold;"> : <input id="seconds" type="text" style="width: 60px; border: none; background-color:none; font-size: 50px; font-weight: bold;"> 
</div> 
<script> 
    countdown(); 

ответ

0

попробовать этот

function getminutes() { 
    // minutes is seconds divided by 60, rounded down 
    mins = Math.floor(secs/60); 
    return ("0" + mins).substr(-2); 
} 
function getseconds() { 
    // take mins remaining (as seconds) away from total seconds remaining 
    return ("0" + (secs-Math.round(mins *60))).substr(-2); 
} 
+0

Спасибо, сработало. – user76449

0

раздуть ноль просто сделать:

var renderedSecs; 

renderedSecs = (secs < 10 ? "0" : "") + secs; 

// now put renderedSecs into the HTML 

Не делайте это с secs, потому что это number, в то время как renderedSecs является a string.

Храните фактические цифры для своих вычислений отдельно от их рендеринга (в виде строк).