Javascript 如何停止60到0的秒数
嗨,我是javascript和html新手,我只想知道如何将第三个文本字段(txtS)设置为60比0。我正在试着制作一个时钟,所以秒需要停在60,分钟应该开始递增** 我只是在问如何在60秒时停止Javascript 如何停止60到0的秒数,javascript,html,Javascript,Html,嗨,我是javascript和html新手,我只想知道如何将第三个文本字段(txtS)设置为60比0。我正在试着制作一个时钟,所以秒需要停在60,分钟应该开始递增** 我只是在问如何在60秒时停止 <html > <head> <title>clock</title> <script language="javascript"> function fn_sample() { doc
<html >
<head>
<title>clock</title>
<script language="javascript">
function fn_sample() {
document.frm.txtS.value = parseInt(document.frm.txtS.value) + 1;
var t1 = document.frm.txtS.value;
if(t1>=60){
t1 = 0;
}
window.setTimeout("fn_sample()", 1000);
}
</script>
</head>
<body>
<form name="frm">
<input type="text" name="txtH" value="0" size="2"/>
<input type="text" name="txtM" value="0" size="2"/>
<input type="text" name="txtS" value="0" size="2"/>
<br /><br />
<input type="button" value="Start" onclick="fn_sample();" />
</form>
</body>
时钟
函数fn_sample(){
document.frm.txtS.value=parseInt(document.frm.txtS.value)+1;
var t1=document.frm.txtS.value;
如果(t1>=60){
t1=0;
}
setTimeout(“fn_sample()”,1000);
}
只需在闭合大括号后添加
else
,即可根据之前的测试设置超时时间
(对于演示,我将超时时间减少到100
以等待6秒,而不是60;-)。
注意:为了确保完整循环的时间不超过1秒,您不能在每次操作之间睡眠1秒!更喜欢使用:window.setTimeout(“fn_sample()”,1000-(new Date()%1000))代码>。这将一直工作到执行时间超过1秒
函数fn_sample(){
document.frm.txtS.value=parseInt(document.frm.txtS.value)+1;
var t1=document.frm.txtS.value;
如果(t1>=60){
document.frm.txtS.value=0;
}否则
setTimeout(“fn_sample()”,
100-(新日期()%100));
}
应该使用日期
对象以获得更可靠的时间。您的方法将实时滞后您应该使用Date对象以避免客户端可能出现的滞后问题,但在任何情况下,以下是您案例的有效解决方案:。基本上,不是t1=0;必须将输入值设置为0。。就这样。此外,可以使用一元运算符(如+)而不是parseInt,但这只是代码检查的问题。