setInterval()在firefox和ie中只显示一次执行结果,chrome中正常

我的代码是<html><head></head><body><scripttype="text/javaScript">functionprintTime(){varno... 我的代码是
<html>
<head>
</head>
<body>
<script type="text/javaScript">

function printTime(){
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();

document.write(hours+":"+minutes+":"+seconds+"<br />");
}
setInterval(printTime, 1000); //这里只执行了一次,改换成setInterval('printTime()', 1000);这样的写法也不可以
</script>
</body>
</html>
在chrome浏览器是正常执行的,但是firefox和ie只显示一次结果,之所以说显示一次结果,是因为我看见firefox网页一直没有加载完毕(网页的标签一直在转),似乎是在一遍遍的执行函数,但只有第一次的结果显示出来了,请问这个该怎么解决?在网上也没找到办法,只能问了,谢谢啦。
展开
 我来答
火狐
2014-11-05 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  您好!很高兴为您答疑。
  因为document.write在文档流关闭后再使用时会重新刷新页面,当document.write在一个function里时每次执行到document.write都会重新刷新页面。
  您可以将代码改为:
  <html>
  <head>
  </head>
  <body>
  <script type="text/javaScript">
  function printTime(){
  var now = new Date();
  var hours = now.getHours();
  var minutes = now.getMinutes();
  var seconds = now.getSeconds();
  //document.write(hours+":"+minutes+":"+seconds+"<br />");
  console.log(seconds);
  }
  setInterval(printTime,1000);
  </script>
  </body>
  </html>
然后看下控制台打印的信息就明白啦。

  如果对我们的回答存在任何疑问,欢迎继续问询。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式