Javascript倒计时计时器工作不正常

Javascript倒计时计时器工作不正常,javascript,html,countdowntimer,Javascript,Html,Countdowntimer,我正在创建一个javascript函数来倒计时用户选择的值。这是到目前为止我的代码 函数countdownTimeStart(){ var time=document.getElementById(“测试”).value; time=time.split(“:”); 变量日期=新日期(); var countDownDate=date.setHours(时间[0],时间[1],时间[2]); var x=设置间隔(函数(){ //获取日期和时间 var now=new Date().getTi

我正在创建一个javascript函数来倒计时用户选择的值。这是到目前为止我的代码

函数countdownTimeStart(){
var time=document.getElementById(“测试”).value;
time=time.split(“:”);
变量日期=新日期();
var countDownDate=date.setHours(时间[0],时间[1],时间[2]);
var x=设置间隔(函数(){
//获取日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
/*var距离=倒计时日期*/
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“demo1”).innerHTML=hours+“:”
+分钟+“:“+秒+”;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“demo1”).innerHTML=“00:00:00”;
}
}, 200);
}
document.querySelector(“按钮”).addEventListener(
“点击”,
倒计时开始
)


开始
只需将倒计时日期设置为当前时间加上未来所需的小时、分钟和秒数

var countDownDate = new Date( date.getTime() 
                            + parseInt(time[0])*(1000 * 60 * 60) //hours
                            + parseInt(time[1])*(1000 * 60) //minutes
                            + parseInt(time[2])*1000 ); //seconds

如果您想倒数给定的时间,以下方法应该有效:

var-time=document.getElementById(“测试”).value;
time=time.split(“:”);
变量日期=新日期();
var countDownDate=date.setHours(时间[0],时间[1],时间[2]);
函数countdowntTimeStart(){
var x=设置间隔(函数(){
//设置小时、分钟和秒,减少秒数
var小时=时间[0];
var分钟=时间[1];
var秒=时间[2]--;
//如果秒数为负数,则将其设置为59并减少分钟数
如果(时间[2]=-1){
时间[1]——;
时间[2]=59
}
//如果分钟数为负数,则将其设置为59并减少小时数
如果(时间[1]=-1){
时间[0]-;
时间[1]=59
}
//在id=“demo”的元素中输出结果
//如果秒数小于10秒,则添加前导零秒数
如果(秒<10){
document.getElementById(“demo”).innerHTML=hours+“:“+minutes+”:“+0”+seconds+”;
}否则{
document.getElementById(“demo”).innerHTML=hours+:“+minutes+”:“+seconds+”;
}
}, 1000);
}
document.querySelector(“按钮”).addEventListener(
“点击”,
倒计时开始
)


开始
我更新了代码,但看不到问题,输入的时间高于当前时间,倒计时开始。超过当前时间将导致不倒计时(全部归零)。此脚本也通过负值计算值。那么我怎么才能在00:00:00停止计数呢。“你能帮帮我吗?”查图里弗南多看到这个帖子了吗