<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> function start() { var today = new Date(); document.getElementById("txt").innerHTML=today.getHours()+":"+today.getMinutes()+":"+today.getSeconds(); i=setInterval("start()",1000) } function stop() { clearInterval(i); } </script> </head> <body> <button onclick="start()">单击这里</button> <button onclick="stop()">单击这里</button> <div id="txt" ></div> </body> </html>
第一个问题:你的i变量是start内部的,stop函数访问不到start的作用域
点击第一个按钮时候触发start函数,该函数内部会触发定时器。定时器会重新触发函数,你的定时器会有多个,有定时器存在的时候一定不要重复启动定时器。要全局维持一个定时器。
下边正确代码,忘采纳