Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 倒计时计数器(小时)_Javascript_Html_Jquery - Fatal编程技术网

Javascript 倒计时计数器(小时)

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

我想为一个计数器编写代码,该计数器以小时、分钟和秒为单位(3:59:59…3:59:58…0:0:1…0:0:0)从4小时倒计时,其中用户可以使用+/-图标增加或减少这些组件中的任何一个。我写了一个代码但我做不到?我怎样才能完成它?在我的代码中,只需增加/减少图标即可

函数增量(){
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秒/分钟。