求大神帮我看看这个代码出什么问题了(添加stop和start按钮控制计时开始和结束)

来源:8-3 计时器setInterval()

sololdw

2015-05-16 17:25

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定时器</title>
<script type="text/javascript">
  var attime;
  function clock(){
      
    var time=new Date();          
    attime=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds() ;
    document.getElementById("clock").value = attime;
  }
  function startclock(){
      var i=setInterval("clock()",1000);
  }
  function stopclock(){
     clearInterval(i);
  }
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50"  />
<input type="button" id="start" value="start" onclick="startclock()" />
<input type="button" id="stop" value="stop"  onclick="stopclock()"/>
</form>
</body>
</html>

start可以开始但是stop停止不了为啥啊--

写回答 关注

2回答

  • 全障攻城师
    2015-05-16 17:45:31
    已采纳

    把 var i=setInterval("clock()",1000);中的var去掉

    hentai... 回复solold...

    可能是一个全局变量和局部变量的原因吧,在其他语言像是C语言,在函数内部定义变量就只能在函数内部使用,在函数外部不能使用,不知道JS是不是也是这样

    2015-05-20 15:44:55

    共 3 条回复 >

  • ITer在路上
    2015-07-14 14:52:33

    函数变量作用域的问题啊,那个i的作用域范围在startclock函数内,你想在stopclock函数里去访问i,这样肯定访问不到啊!

    solold...

    是的谢谢

    2015-07-29 23:10:16

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

469390 学习 · 22585 问题

查看课程

相似问题