为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能直接打印attime?

<!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 回答

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

0 回复 有任何疑惑可以回复我~
#1

苟延残喘1 提问者

就是我贴的代码,基本都是复制的,就注释那里改了一下。
2017-05-04 回复 有任何疑惑可以回复我~
#2

慕勒7123956 回复 苟延残喘1 提问者

我运行了以后,就是不断的向document的写入了,一直添加,如果使用input赋值的话,在赋值的同时会把旧的值给替换掉
2017-05-05 回复 有任何疑惑可以回复我~
#3

苟延残喘1 提问者 回复 慕勒7123956

也就是写入是写入了但是没有把旧值替换掉?可是为什么旧值会依旧存在且不被替换呢?input为什么就可以呢?
2017-05-06 回复 有任何疑惑可以回复我~
#4

慕勒7123956 回复 苟延残喘1 提问者

document.write()这个方法就是这样的啊,只是写入,input那个是重新赋值。
2017-05-06 回复 有任何疑惑可以回复我~
#5

苟延残喘1 提问者 回复 慕勒7123956

好的,谢谢你
2017-05-07 回复 有任何疑惑可以回复我~
查看2条回复

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


0 回复 有任何疑惑可以回复我~
#1

苟延残喘1 提问者

输出的值不是在改变吗?为什么一定要通过input才能动态改变呢
2017-05-04 回复 有任何疑惑可以回复我~
#2

苟延残喘1 提问者

输出的值不是在改变吗?为什么一定要通过input才能动态改变呢
2017-05-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不能直接打印attime?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信