猿问

i=setTimeout中参数t的疑问

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
  var num = 0;
  var i;
  
  function startCount(){
    i = setTimeout("startCount()",1000);
    var input = document.getElementById('count');
  	document.getElementById('count').value =num;//这么写才能web里value里显示num,否则都不知道执行了没有的
    input.value = num;//这里好好体会下这两句话排列的前后顺序对显示结果的影响,计时器是个好东西!
    document.getElementById('tt').value = i
    num = num+1;	
  	   
  }
//document.getElementById('tt').value = i;
  function stopCount(){
  	clearTimeout(i);
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="text" id="tt" />
    <input type="button" value="Start" onClick="startCount()" />
    <input type="button" value="Stop"  onClick="stopCount()" />
  </form>
</body>
</html>

别人的指教,参数i为技术器的运算次数,若i=setTimeout我放在函数startCount()一开头,i不是从0开始显示啊,而是直接跳到了2,那0和1跑那里去了呢?运行di12行函数的时候,遇到i=seyTimeout(),此时函数惠接着运行完这次的startCount(),还是说直接又重新调用StartCount()这个函数了呢?

还有就是我在函数startCount()里,写一个document.write(i),按照我的理解是 。执行函数时候,页面上有个地方会进行i值的输出,但是现实是页面就输出一次i值,而且开始停止这些按钮都消失了,请问这是问什么?

uwenhao2008
浏览 1210回答 1
1回答

qq_无心_12

document.write()覆盖了原来的页面。你把计时器1000(指毫秒数)设置为(5000),setTimeout是延时执行。下面的两句是一样的,有一句就可以;document.getElementById('count').value =num;input.value = num;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答