start按鈕中,為什么寫onclick="clock()"不起效,而是要重新定義一個(gè)函數(shù)才起效呢
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>計(jì)時(shí)器</title>
<script type="text/javascript">
?? function clock(){
????? var time=new Date();????????????? ??? ? ?
????? document.getElementById("clock").value = time;
?? }
???? var i = setInterval("clock()",1000); //每隔1秒就是執(zhí)行一次clock()函數(shù),并將返回值賦值給i
</script>
</head>
<body>
? <form>
??? <input type="text" id="clock" size="50"? />
??? <input type="button" value="Stop" onclick="clearInterval(i)"/>
??? <input type="button" value="Start" onclick="clock()"/>
? </form>
</body>
</html>
2018-03-20
clearInterval(i)已經(jīng)將定時(shí)器清空了
建議修改成如下;另外你的函數(shù)名為clock, input的ID號(hào)也設(shè)置為clock,這樣不好,有的瀏覽器對(duì)兩個(gè)會(huì)不能正確識(shí)別的……
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>計(jì)時(shí)器</title>
<script type="text/javascript">
? var i;
? ?function Clock(){
? ? ? var time=new Date();? ? ? ? ? ? ? ? ? ? ?
? ? ? document.getElementById("clock").value = time;
? ? ? i=setTimeout("Clock()",1000);
? ?}
? ? ?//var i = setInterval("Clock()",1000); //每隔1秒就是執(zhí)行一次clock()函數(shù),并將返回值賦值給i
? ? ?function StopClock(){
? ? ? clearTimeout(i);
? ? ?}
? ?
</script>
</head>
<body>
? <form>
? ? <input type="text" id="clock" size="50"? />
? ? <input type="button" value="Stop" onclick="StopClock()"/>
? ? <input type="button" value="Start" onclick="Clock()"/>
? </form>
</body>
</html>
2018-03-20
你的<input type="button" value="Start" onclick="clock()"/>中表示只運(yùn)行clock()這個(gè)function一次,而function中并不包含setInterval方法。
我將<input type="button" value="Start"?onclick="clock()"/>改成<input type="button" value="Start"?onclick="i"/>就可以運(yùn)行了,你試試。