clearInterval()函数在JavaScript中不起作用



我尝试添加一个简单的随机数生成器,最多可达10。当代码被超越时,它可以很好地工作并生成随机数。之后我添加了一个条件,当函数生成5随机数时,函数应该停止工作,所以我添加了clearInterval((函数,但输出没有变化。

var stop = setInterval(timer, 1000);
var t = 0;
function timer() {
var count = 0;
var X = document.getElementById("timer");
var rnumber = Math.floor(Math.random() * 10);
X.innerHTML = rnumber;

count++;
if (count == 5) {
clearInterval(stop);
}
}
<body>
<div id="timer">0</div>
</body>

您每次都将count重置为0。以下是的操作方法

function timer() {
if (!this.count) this.count = 0;
var X = document.getElementById("timer");
var rnumber = Math.floor(Math.random() * 10);
X.innerHTML = rnumber;
this.count++;
if (this.count == 5) {
clearInterval(stop);
}
}

var stop = setInterval(timer, 1000);

function timer() {
console.log("running");
if (!this.count) this.count = 0;
var X = document.getElementById("timer");
var rnumber = Math.floor(Math.random() * 10);
X.innerHTML = rnumber;

this.count++;
if (this.count == 5) {
clearInterval(stop);
console.log("stopped");
}
}
<div id="timer">a</div>

最新更新