为什么不能直接打印attime?

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

苟延残喘1

2017-05-03 17:59

<!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;

//为什么改成 document.write(attime);只显示一个不变的值,下面计时器不是间隔时间后运行一次函数,函数体内new一个Date对象时时间在变化,attime的内容也应该随着变化的呀?
  }
  setInterval(clock,100);
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50"  />
</form>
</body>
</html>

写回答 关注

2回答

  • 慕勒7123956
    2017-05-03 20:44:16
    已采纳

    改成document,write(attime)以后,应该会一直往文档里面写数据的,写进去的都是当时的时间,你看看是不是程序哪里写错了

    苟延残喘1 回复慕勒7123...

    好的,谢谢你

    2017-05-07 17:14:06

    共 5 条回复 >

  • 慕粉2109137568
    2017-05-03 20:51:08

    直接输出的话只是获取输出当前的一个值,只会一直在<input>文本中输出,并不能显示计时,而通过获取<input>的id不断改变它的值,所以看起来像时钟在变化


    苟延残喘1

    输出的值不是在改变吗?为什么一定要通过input才能动态改变呢

    2017-05-04 23:16:20

    共 2 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题