Javascript 倒计时计数器(小时)
我想为一个计数器编写代码,该计数器以小时、分钟和秒为单位(3:59:59…3:59:58…0:0:1…0:0:0)从4小时倒计时,其中用户可以使用+/-图标增加或减少这些组件中的任何一个。我写了一个代码但我做不到?我怎样才能完成它?在我的代码中,只需增加/减少图标即可Javascript 倒计时计数器(小时),javascript,html,jquery,Javascript,Html,Jquery,我想为一个计数器编写代码,该计数器以小时、分钟和秒为单位(3:59:59…3:59:58…0:0:1…0:0:0)从4小时倒计时,其中用户可以使用+/-图标增加或减少这些组件中的任何一个。我写了一个代码但我做不到?我怎样才能完成它?在我的代码中,只需增加/减少图标即可 函数增量(){ hour=parseInt(document.getElementsByName(“hour”)[0].value); 分钟=parseInt(document.getElementsByName(“分钟”)[0
函数增量(){
hour=parseInt(document.getElementsByName(“hour”)[0].value);
分钟=parseInt(document.getElementsByName(“分钟”)[0].value);
second=parseInt(document.getElementsByName(“second”)[0].value);
如果(秒+1==61){
分钟=分钟+1;
如果(分钟==61){
小时=小时+1;
如果(小时==3){
小时=0;
}
分钟=0;
}
秒=0;
}否则{
秒+=1;
}
document.getElementsByName(“hour”)[0]。值=hour.toString();
document.getElementsByName(“分钟”)[0]。value=minute.toString();
document.getElementsByName(“second”)[0]。value=second.toString();
}
函数减量(){
hour=parseInt(document.getElementsByName(“hour”)[0].value);
分钟=parseInt(document.getElementsByName(“分钟”)[0].value);
second=parseInt(document.getElementsByName(“second”)[0].value);
如果(秒-1您可以使用setInterval
功能
这将每秒调用递减函数
setInterval(减量,1000)
第一个参数是要执行的函数。
第二个参数表示执行前的毫秒数。以下是我将如何执行它,首先,您让脚本在主体之前执行,这导致了问题,因为您尝试选择的元素还不存在,
此外,你正在尝试在任何地方做任何事情,但如果你保持状态,它会更易于管理
const maxTime=4*60*60;//4小时(秒)
const hours=document.querySelector(“[name='hour']”);
const minutes=document.querySelector(“[name='minute']”);
const seconds=document.querySelector(“[name='second']”);
剩余=最大时间;
let计数器=设置间隔(减量,1000);
函数增量(){
剩余=数学最大值(最大时间,剩余+1);
显示();
}
函数减量(){
剩余=数学最大值(0,剩余-1);
显示();
}
函数显示(){
常量时间=新日期(剩余*1000).toISOString();
hours.value=time.slice(11,13);
minutes.value=time.slice(14,16);
seconds.value=time.slice(17,19);
}
1997年的代码圈中几乎所有的东西,当所有的代码都应该重新编写,包括HTML时,很难尝试帮助您。
不应该用于布局目的,只应该使用将通过表单提交数据的表单元素。submit()
应具有名称
属性,不应使用getElementsByName()
,querySelector()
应不使用内联事件处理属性,如onclick
和addEventListener()
should。你应该真正了解本世纪使用的现代HTML和JavaScript。注意:使用'if(second+1==60)`代替61分钟,否则你会得到60秒/分钟。