JS 中的倒数计时器 - 不知道该怎么做
Countdown timer in JS - no idea how do it
我想用 JavaScript 中的用户输入创建倒数计时器(不是 jQuery 或其他技术)。
HTML: https://codepen.io/anon/pen/LewOLe
<div class='countdown'>
<div class='times'><span class='inputData'>Hours: </span>
<input class='hours' type="number" min='0'/>
</div>
<div class='times'> <span class='inputData'>Minutes: </span>
<input class='mins' type="number" min='0' max='59' />
</div>
<div class='times'><span class='inputData'>Seconds: </span>
<input class='secs' type="number" min='0' max='59' />
</div>
<button class='countBtn'>START</button>
<div class='count'>
<span>00</span>
<span>00</span>
<span>00</span>
</div>
</div>
通过使用JS我想从输入中获取数据,单击开始并在div class 'count'.
中开始计数
帮助:)
HTML
<div class='countdown'>
<div class='times'><span class='inputData'>Hours: </span>
<input id="inputHour" class='hours' type="number" min='0'/>
</div>
<div class='times'> <span class='inputData'>Minutes: </span>
<input id="inputMinutes" class='mins' type="number" min='0' max='59' />
</div>
<div class='times'><span class='inputData'>Seconds: </span>
<input id="inputSeconds" class='secs' type="number" min='0' max='59' />
</div>
<button class='countBtn' onclick="setTime();">START</button>
<div id="timer" class='count'>
<span id="hourCount"></span><span>:</span> <span id="minuteCount"></span><span>:</span> <span id="secondCount"></span>
</div>
</div>
简单明了javascript
function setTime(){
var hour = document.getElementById("inputHour").value;
var minutes = document.getElementById("inputMinutes").value;
var seconds = document.getElementById("inputSeconds").value;
initiateTimer(hour, minutes, seconds);
}
function initiateTimer(hour,minutes,seconds){
document.getElementById('hourCount').innerHTML =hour;
document.getElementById('minuteCount').innerHTML =minutes;
document.getElementById('secondCount').innerHTML =seconds;
startTimer();
}
function startTimer() {
var h = parseInt(document.getElementById("hourCount").innerHTML);
var m = checkMinute(parseInt(document.getElementById("minuteCount").innerHTML));
var s = checkSecond((parseInt(document.getElementById("secondCount").innerHTML)) - 1);
if(s==59){m=m-1};
if(m==59&&s==58){h=h-1};
if(h<0){return 0;}
document.getElementById("hourCount").innerHTML = "";
document.getElementById("hourCount").innerHTML = h; document.getElementById("minuteCount").innerHTML = "";
document.getElementById("minuteCount").innerHTML = m;
document.getElementById("secondCount").innerHTML = "";
document.getElementById("secondCount").innerHTML = s;
setTimeout(startTimer, 1000);
}
function checkSecond(sec) {
if (sec < 10 && sec >= 0) {sec = "0" + sec};
if (sec < 0) {sec = "59"};
return sec;
}
function checkMinute(minute) {
if (minute < 0) {minute = "59"};
return minute;
}
此代码可能存在一些问题,但它非常适合您的问题要求。 :-)
希望我有所帮助。我也是 javascript.
的新手
是的,我知道那一分钟会变为 -1 秒,任何更正它的编辑都会很乐意接受:-)
我想用 JavaScript 中的用户输入创建倒数计时器(不是 jQuery 或其他技术)。
HTML: https://codepen.io/anon/pen/LewOLe
<div class='countdown'>
<div class='times'><span class='inputData'>Hours: </span>
<input class='hours' type="number" min='0'/>
</div>
<div class='times'> <span class='inputData'>Minutes: </span>
<input class='mins' type="number" min='0' max='59' />
</div>
<div class='times'><span class='inputData'>Seconds: </span>
<input class='secs' type="number" min='0' max='59' />
</div>
<button class='countBtn'>START</button>
<div class='count'>
<span>00</span>
<span>00</span>
<span>00</span>
</div>
</div>
通过使用JS我想从输入中获取数据,单击开始并在div class 'count'.
中开始计数帮助:)
HTML
<div class='countdown'>
<div class='times'><span class='inputData'>Hours: </span>
<input id="inputHour" class='hours' type="number" min='0'/>
</div>
<div class='times'> <span class='inputData'>Minutes: </span>
<input id="inputMinutes" class='mins' type="number" min='0' max='59' />
</div>
<div class='times'><span class='inputData'>Seconds: </span>
<input id="inputSeconds" class='secs' type="number" min='0' max='59' />
</div>
<button class='countBtn' onclick="setTime();">START</button>
<div id="timer" class='count'>
<span id="hourCount"></span><span>:</span> <span id="minuteCount"></span><span>:</span> <span id="secondCount"></span>
</div>
</div>
简单明了javascript
function setTime(){
var hour = document.getElementById("inputHour").value;
var minutes = document.getElementById("inputMinutes").value;
var seconds = document.getElementById("inputSeconds").value;
initiateTimer(hour, minutes, seconds);
}
function initiateTimer(hour,minutes,seconds){
document.getElementById('hourCount').innerHTML =hour;
document.getElementById('minuteCount').innerHTML =minutes;
document.getElementById('secondCount').innerHTML =seconds;
startTimer();
}
function startTimer() {
var h = parseInt(document.getElementById("hourCount").innerHTML);
var m = checkMinute(parseInt(document.getElementById("minuteCount").innerHTML));
var s = checkSecond((parseInt(document.getElementById("secondCount").innerHTML)) - 1);
if(s==59){m=m-1};
if(m==59&&s==58){h=h-1};
if(h<0){return 0;}
document.getElementById("hourCount").innerHTML = "";
document.getElementById("hourCount").innerHTML = h; document.getElementById("minuteCount").innerHTML = "";
document.getElementById("minuteCount").innerHTML = m;
document.getElementById("secondCount").innerHTML = "";
document.getElementById("secondCount").innerHTML = s;
setTimeout(startTimer, 1000);
}
function checkSecond(sec) {
if (sec < 10 && sec >= 0) {sec = "0" + sec};
if (sec < 0) {sec = "59"};
return sec;
}
function checkMinute(minute) {
if (minute < 0) {minute = "59"};
return minute;
}
此代码可能存在一些问题,但它非常适合您的问题要求。 :-)
希望我有所帮助。我也是 javascript.
的新手是的,我知道那一分钟会变为 -1 秒,任何更正它的编辑都会很乐意接受:-)