【发布时间】:2012-12-15 02:26:42
【问题描述】:
我试图避免使用innerHTML,因为它会导致我的浏览器崩溃,可能是由于 250 毫秒的刷新率。
无论如何,我宁愿在隐藏的<div> 中包含一些内容,并且仅在满足特定条件时才使<div> 可见。解决这个问题的最佳方法是什么?
基本上,我现在正在做的是..
setInterval(function () {
if (serverReachable()) {
.... // lines of code
.... // lines of code
var changeIt = document.getElementById('change')
changeIt.innerHTML = '';
timeout = setInterval(function(){window.location.href = "Tracker.html";},5000);
}
} else {
clearTimeout(timeout);
timeout = null;
var changeIt = document.getElementById('change')
changeIt.innerHTML = 'offline';
}
}, 250);
这会使我的浏览器崩溃,因为我不是使用innerHTML 来打印“离线”而是整个<div>。我想隐藏这个<div>,而不是使用innetHTML,在满足条件时简单地取消隐藏(在这种情况下,没有互联网连接)。
【问题讨论】:
-
我会将
setInterval()更改为递归调用的setTimeout()- 这不应该让您的浏览器崩溃。当然,内部setInterval应该是setTimeout- 一次性事件。
标签: javascript html hide innerhtml