我希望動畫在點擊次數達到特定數量時停止。 爲什麼第一個片段有效,而第二個片段沒有。 唯一的區別是clearInterval被調用。 這個作品---停止動畫。有人能告訴我爲什麼這些JavaScript代碼中的一個工作,而其中一個不工作?
var intervalId = setInterval(moveHeading, intervalLength);
var intervalLength = 120;
var clicks = 0;
$("#heading").click(function() {
clearInterval(intervalId);
clicks++;
intervalLength /= 2;
if (clicks >= 3) {
$("#heading").text("You Win!");
} else {
$("#heading").text(clicks);
intervalId = setInterval(moveHeading, intervalLength);
}
});
但是,這一個將無法正常工作---不停止動畫。
var intervalId = setInterval(moveHeading, intervalLength);
var intervalLength = 120;
var clicks = 0;
$("#heading").click(function() {
clicks++;
intervalLength /= 2;
if (clicks > 3) {
clearInterval(intervalId);
$("#heading").text("You Win!");
} else {
$("#heading").text(clicks);
intervalId = setInterval(moveHeading, intervalLength);
}
});
在第二個示例中,您多次堆疊'setInterval'。事實上,當'clicks> 3'時,你用'clearInterval'來停止它,但你實際上已經有3個其他的時間間隔在運行。 – choz