【发布时间】:2015-12-05 22:47:10
【问题描述】:
我有这段代码,我想让amurFunc() 每 5 秒执行一次。
执行是一个监听器,用于监听用户是否点击了 div。他实际上可以每 5 秒点击一次。你能帮我弄清楚我哪里做错了吗?
代码:
<div id=amur>
</div>
<script>
document.getElementById("amur").addEventListener('click', amurFunc());
function amurFunc() {
var funcTimer = 0;
while (funcTimer == 0) {
window.open('http://google.com','_blank');
funcTimer = 5;
while (funcTimer > 0) {
setInterval(
function () {
funcTimer--;
}, 1000;
);
}
}
}
</script>
【问题讨论】:
-
你为什么在一个while循环中启动多个
setInterval()? -
@jfriend00 每秒递减 funcTimer 直到它达到 0;
-
您只想开始一个间隔。然后它将每秒运行一次。当你的计数变为零时,你就打电话给
clearInterval()。 -
但我希望当
funcTimer达到零时,外部循环重新开始。
标签: javascript html dom-events