Javascript倒计时计时器倒计时未正确更新秒/分钟
我已经创建了一个倒计时计时器。然而,它并没有正确地倒计时。它不是每秒或每分钟倒计时,而是按百分之一百倒计时,并且不能正确更新。我用同样的代码创建了另一个计数计时器,但它可以正确地计算每一个增量的计数时间——它每过60秒就计算分钟数。我想知道我怎样才能使这个计时器正确地倒计时 JSBin: 更新*在60秒计数器中添加: HTMLJavascript倒计时计时器倒计时未正确更新秒/分钟,javascript,countdowntimer,Javascript,Countdowntimer,我已经创建了一个倒计时计时器。然而,它并没有正确地倒计时。它不是每秒或每分钟倒计时,而是按百分之一百倒计时,并且不能正确更新。我用同样的代码创建了另一个计数计时器,但它可以正确地计算每一个增量的计数时间——它每过60秒就计算分钟数。我想知道我怎样才能使这个计时器正确地倒计时 JSBin: 更新*在60秒计数器中添加: HTML 用户输入定时器 00:00:00 开始 停止 重置 JAVASCIPT hundreths = 10; seconds = 15; minutes = 20;
用户输入定时器
00:00:00
开始
停止
重置
JAVASCIPT
hundreths = 10;
seconds = 15;
minutes = 20;
document.getElementById("time").innerHTML = minutes + ":" + seconds + ":" + hundreths;
var currentTime = document.getElementById('time');
var t;
function startClock() {
function add() {
hundreths--;
if (hundreths < 0) {
hundreths = 0;
seconds--;
if (seconds < 0) {
seconds = 0;
minutes--;
}
if(minutes < 0) {
seconds= 0;
minutes= 0;
stopTimer();
}
}
if (hundreths > 9 && seconds < 9) {
currentTime.innerHTML = "0" + minutes + ":" + "0" + seconds + ":" + hundreths;
}
else if ((seconds > 9 ) && (hundreths < 9)) {
currentTime.innerHTML = "0" + minutes + ":" + seconds + ":" + "0" + hundreths;
}
else if((seconds > 9) && (hundreths > 9)) {
currentTime.innerHTML = "0" + minutes + ":" + seconds + ":" + hundreths;
}
else if ((minutes > 9) && (seconds < 9) && (hundreths < 9)) {
currentTime.innerHTML = minutes + ":" + "0" + seconds + ":" + "0" + hundreths;
}
else if ((minutes > 9) && (seconds > 9) && (hundreths < 9)) {
currentTime.innerHTML = minutes + ":" + seconds + ":" + "0" + hundreths;
}
else if ((minutes > 9) && (seconds > 9) && (hundreths < 9)) {
currentTime.innerHTML = minutes + ":" + seconds + ":" + hundreths;
}
else {
currentTime.innerHTML = "0" + minutes + ":" + "0" + seconds + ":" + "0" + hundreths;
}
timer();
} // end function add();
function timer() {
t = setTimeout(add, 100);
}
timer();
} // end function startClock();
function stopTimer() {
document.getElementById("result").innerHTML = "<p>" + ("Your time is: " + minutes + " minutes, " + seconds + " seconds, " + "and " + hundreths + " hundreths") + "</p>";
clearTimeout(t);
} // end function stopTimer();
function resetTimer() {
clearTimeout(t);
currentTime.innerHTML = "00:00:00";
} // end function resetTimer();
百分之十=10;
秒=15;
分钟=20;
document.getElementById(“time”).innerHTML=minutes+”:“+seconds+”:“+hundreth;
var currentTime=document.getElementById('time');
变量t;
函数startClock(){
函数add(){
百分之一百--;
如果(百分之一百<0){
百分之一百=0;
秒--;
如果(秒<0){
秒=0;
分钟--;
}
如果(分钟<0){
秒=0;
分钟=0;
停止计时器();
}
}
如果(百分之九>9&&秒<9){
currentTime.innerHTML=“0”+分钟+”:“+“0”+秒+”:“+百分之一百;
}
否则如果((秒>9)和(&(百分之九<9)){
currentTime.innerHTML=“0”+分钟+”:“+秒+”:“+”0“+百分之一百;
}
否则如果((秒>9)和(&(百分之九>9)){
currentTime.innerHTML=“0”+分钟+:“+秒+”:“+百分之一百;
}
否则如果((分钟>9)和(&(秒<9)和(&(百分之九<9)){
currentTime.innerHTML=分钟+“:“+”0“+秒+”:“+”0“+百分之一百;
}
否则如果((分钟>9)和(&(秒>9)和(&(百分之九<9)){
currentTime.innerHTML=分钟+“:“+秒+”:“+“0”+百分之一百;
}
否则如果((分钟>9)和(&(秒>9)和(&(百分之九<9)){
currentTime.innerHTML=分钟+“:”+秒+“:”+百分之一百;
}
否则{
currentTime.innerHTML=“0”+分钟+”:“+”0“+秒+”:“+”0“+百分之一百;
}
定时器();
}//结束函数add();
函数计时器(){
t=设置超时(加上100);
}
定时器();
}//结束函数startClock();
函数stopTimer(){
document.getElementById(“结果”).innerHTML=“”+(“您的时间是:“+minutes+”分钟、+seconds+”秒、“+”和“+hundreths+”百分之几”)+””;
清除超时(t);
}//结束函数stopTimer();
函数resetTimer(){
清除超时(t);
currentTime.innerHTML=“00:00:00”;
}//结束函数resetTimer();
只需使用Jquery倒计时插件即可
实施将更容易。像这样的
<div id="getting-started"></div>
<script type="text/javascript">
$("#getting-started").countdown("2016/01/01", function(event) {
$(this).text(event.strftime('%D days %H:%M:%S'));
});
</script>
$(“#入门”)。倒计时(“2016/01/01”,功能(事件){
$(this).text(event.strftime(“%D天%H:%M:%S”);
});
这将起作用,因为您有关于何时设置秒的逻辑,所以它会不断地自行重置。在这种情况下,如果您陷入困境,最好的方法之一就是尝试更改if语句,删除其中的一些语句并使用不同的值。它可以帮助您了解系统中真正发生的事情,并为您提供错误的线索。另一个技巧是用普通英语大声朗读代码。当你大声朗读时,你经常会听到自己说出逻辑,从而意识到自己犯了错误
hundreths--;
if (hundreths < 0) {
hundreths = 10;
seconds--;
if (seconds < 0) {
seconds = 59;
minutes--;
}
if(minutes < 0) {
seconds= 0;
minutes= 0;
stopTimer();
}
}
百分之一百--;
如果(百分之一百<0){
百分之十=10;
秒--;
如果(秒<0){
秒=59;
分钟--;
}
如果(分钟<0){
秒=0;
分钟=0;
停止计时器();
}
}
谢谢!!这些都是非常有用的提示
hundreths--;
if (hundreths < 0) {
hundreths = 10;
seconds--;
if (seconds < 0) {
seconds = 59;
minutes--;
}
if(minutes < 0) {
seconds= 0;
minutes= 0;
stopTimer();
}
}