Chinaunix

标题: 这段代码的BUG怎么解决?? [打印本页]

作者: kifox    时间: 2006-02-23 20:58
标题: 这段代码的BUG怎么解决??
html>
<head>
<title>
7879797979
</title>
</head>
<body>
<script language="javascript">
var stat=0;
function snake()
{
   stat++;
   h1.innerHTML=stat;
}
</script>
<font size="16"><div id=h1 align="center">
0
</div></font>
<div align="center">
<input type="button" value="开始计时" onclick="intername=setInterval('snake()',100);">
<input type="button" value="计时结束" onclick="clearInterval(intername);">
</div>
</body>
</html>

当我触发了第一次开始计时后,我继续点击多次开始计时,计时的时间会越来越快,而且我的计时结束完全不起作用,是怎么回事,应该怎么解决?
作者: garfield61    时间: 2006-02-28 15:02
因为你每点击一次开始计时,就会产生一个intername,你点击“计时结束”只是结束最近一次的intername。
可以加上个disabled,点过"开始计时“使这个按钮失效。

  1. <html>
  2. <head>
  3. <title>
  4. 7879797979
  5. </title>
  6. </head>
  7. <body>
  8. <script language="javascript">
  9. var stat=0;
  10. function snake()
  11. {
  12.    stat++;
  13.    h1.innerHTML=stat;
  14. }
  15. </script>
  16. <font size="16"><div id=h1 align="center">
  17. 0
  18. </div></font>
  19. <div align="center">
  20. <input id="start" type="button" value="开始计时" onclick="interId=setInterval(snake,1000);document.getElementById('start').disabled =true;">
  21. <input type="button" value="计时结束" onclick="clearInterval(interId);document.getElementById('start').disabled =false;"">
  22. </div>
  23. </body>
  24. </html>
复制代码

我想这个也可以看成是伪装的多线程。

[ 本帖最后由 garfield61 于 2006-2-28 15:04 编辑 ]
作者: kifox    时间: 2006-03-02 23:56
谢谢了,又学到东西了,非常感谢,呵呵,




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2