我试图避免使用,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);
Run Code Online (Sandbox Code Playgroud)
这会使我的浏览器崩溃,因为我不是innerHTML用来打印"离线"而是整个<div>.我希望<div>隐藏,而不是使用innetHTML,只是取消隐藏条件是否满足(在这种情况下,没有互联网连接).
可能重复:
setInterval - 如何只触发一次?
我想只运行一次以下代码,所以在2秒之后它将改变iframe的src,但不会尝试一次又一次地执行.
<script type="text/javascript">
setInterval(function () {document.getElementById('iframe').src = "http://www.y.com";}, 2000);
</script>
Run Code Online (Sandbox Code Playgroud)