加了個按鈕后 停止鍵不管用了?
<title>計時器</title>
<script type="text/javascript">
? ?function clock(){
? ? ? var time=new Date(); ? ? ? ? ? ? ? ?
? ? ? document.getElementById("clock").value = time;
? ?}
? ?
? ? function a(){
? ? var i=setInterval(clock,100);}
</script>
</head>
<body>
? <form>
? ? <input type="text" id="clock" size="50" ?/>
? <input type="button" value="Start" ?onclick="a()"/>
? ? <input type="button" value="Stop" ?onclick="clearInterval(i)"/>
2016-10-23
functon a(){}上面是不是應該設置setInterval(clock,100),也就是變量i
2016-10-09
?function a(){
? ? var i=setInterval(clock,100);}
? ? function b(){
? ? ? ? clearInterval(i);
? ? }
</script>
</head>
<body>
? <form>
? ? <input type="text" id="clock" size="50" ?/>
? <input type="button" value="Start" ?onclick="a()"/>
? ? <input type="button" value="Stop" ?onclick="b()"/>
? </form>
能幫我看看么 ?我這樣定義了函數后 點擊Stop鍵并沒有反應,是哪里出現了問題?
2016-10-08
你都還沒有為?onclick="clearInterval(i)" 里的clearInterval(i)寫 JS代碼,自然就點擊停止鍵不管用;而且不要把JS 內部函數函數當做自定義的函數變量。
現在我明白你的用意了,你是認為 你在停止鍵那里寫上 onclick="clearInterval(i)",這樣就可以實現點擊停止鍵,然后就可以停止了;但事實上是不可以的。自定義函數是自定義函數,你要想你的自定義函數能為你做些事,那你需要為你的自定義函數編碼;就算你的 a()函數一樣。JS內部函數是JS自己事先被實現過的函數,然后直接來給我們用的。
為了解決你的問題,你可以像 a()函數那樣 為 stop鍵自定義個函數,然后在該自定義函數里,使用clearIntervar(id_of_setIntervar)。
希望對你有幫助。