gpt4 book ai didi

javascript - setInterval函数不停止而是无限运行

转载 作者:行者123 更新时间:2023-11-30 08:23:31 25 4
gpt4 key购买 nike

请检查: http://jsfiddle.net/wmaokqh3/

<div id="message">
</div>
<audio id="bgm" src="http://www.freesfx.co.uk/rx2/mp3s/9/10780_1381246351.mp3">
</audio>

<div id="count">
</div>


function Typer() {
var dfd = $.Deferred();
var srcText = 'EXAMPLE';
var i = -(1);
var result = '';
setInterval(function() {
if (i == srcText.length) {
clearInterval(this);
dfd.resolve();
};
$("#count").append('<br>i =' + i + ' , ');
i++;
result += srcText[i].replace("\n", "<br />");
$("#message").html(result + '---' + i + ' , ');
},
1000);
return dfd.promise();
}
function playBGM() {
var playsound = $.Deferred();
$('#bgm')[0].play();
$("#bgm").on("ended", function() {
playsound.resolve();
});
return playsound.promise();
}
function thirdFunction() {
alert('third function');
}
Typer().then(playBGM).then(thirdFunction);

最佳答案

不确定您在哪里学会了 clearInterval(this) 但那是不正确的。 this 与当前间隔无关。您需要使用为间隔生成的 id 才能取消它。

var myInterval = window.setInterval(  )

并且在您的代码中您需要使用该 id

clearInterval(myInterval)

关于javascript - setInterval函数不停止而是无限运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49642563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com