这是因为你这个timerCal是function calTime()内的局部变量,只能在calTime内有效,到了stop.onclick中它就无效了。
应该这样:
var timer=document.getElementById("timer");
var start=document.getElementById("start");
var stop=document.getElementById("stop");
var time=0;
var timerCal=null;
function calTime() {
timer.value=time++;
timerCal=setTimeout(calTime,1000);
}
start.onclick=function () {
calTime();
}
stop.onclick=function () {
clearTimeout(timerCal);
}