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

js中使用setInterval浏览器卡死

js中使用setInterval浏览器卡死

繁星点点滴滴 2018-12-06 17:21:58
在js中做一个时间效果,使用setInterval方法每秒调用一次显示时间的Function达到动态的效果,但是运行一会浏览器卡死,求解决方法! function timer() { var nowDate = new Date(); //获取年 var year = nowDate.getFullYear(); //月 var month = nowDate.getMonth() + 1; if (month < 10) {month = "0" + month;}; //日 var dd = nowDate.getDate(); if (dd < 10) {dd = "0" + dd;}; //时 var hh = nowDate.getHours(); if (hh < 10) {hh = "0" + hh;}; //分 var mm = nowDate.getMinutes(); if (mm < 10) {m = "0" + mm;}; //秒 var ss = nowDate.getSeconds(); if (ss < 10) {ss = "0" + ss;}; //上午/下午 var statu = hh > 12?"PM":"AM"; document.getElementById("nowid").innerHTML = year + "年" + month + "月" + dd + "日&nbsp;&nbsp;&nbsp;" + hh + ":" + mm + ":" + ss + " " + statu; setInterval("timer()",1000); }
查看完整描述

5 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

楼上说的是用timeout递归调用。

大多数情况都不用interval的。

查看完整回答
反对 回复 2018-12-24
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

以前碰过类似的情况是因为函数执行所花费的时间 大于等于这间隔的时间,所以导致了浏览器很容易被卡死

查看完整回答
反对 回复 2018-12-24
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

有什么解决办法没?

查看完整回答
反对 回复 2018-12-24
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

timeout的话只能调用一次,我要秒数一直在走,所以选择使用setInterval

查看完整回答
反对 回复 2018-12-24
  • 5 回答
  • 0 关注
  • 1652 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信