Javascript setInterval()同时执行两次
我遇到了一个问题,我有一个Javascript setInterval()同时执行两次,javascript,jquery,html,Javascript,Jquery,Html,我遇到了一个问题,我有一个setInterval(),但它同时执行了两次。 我的代码从一个div中克隆一个图像,并将其放置在另一个div中。setInterval()正在克隆图像的3倍,但实际上它克隆了6倍。 当setInterval结束时,我收到一个警报。放置第5个克隆时会弹出警报,第6个克隆也会弹出警报,这意味着第5个克隆是第一个setInterval()的结尾,第6个克隆是第二个克隆的结尾。但是我只需要1个可以生成3个克隆的setInterval()。发生了什么事 HTML: 我想克隆人引
setInterval()
,但它同时执行了两次。
我的代码从一个div中克隆一个图像,并将其放置在另一个div中。setInterval()
正在克隆图像的3倍,但实际上它克隆了6倍。
当setInterval
结束时,我收到一个警报。放置第5个克隆时会弹出警报,第6个克隆也会弹出警报,这意味着第5个克隆是第一个setInterval()
的结尾,第6个克隆是第二个克隆的结尾。但是我只需要1个可以生成3个克隆的setInterval()
。发生了什么事
HTML:
我想克隆人引起了这个问题。 使用
html()
时,应将html作为文本传递
请检查解决方案,()
jquery没有
setInterval
函数-plain ol'javascriptdoes@JaromandaX但是仍然可以按原样使用您的代码将添加3个重复项-setInterval只启动一次-请参阅@DonaldWu-是的,但如前所述,“jquery setInterval”没有问题,因为没有这样的animal@JaromandaX但是如果它只开始一次为什么它要做6个克隆?为什么警报会弹出两次?有什么东西可能使setInterval执行了2次?
<div class="inimigo">
<img src="inimigo.png">
</div>
<div class="jogo2">
</div>
$(document).ready(function() {
var counter2 = 0;
var i = setInterval(function() {
var inimigo = $(".inimigo").clone();
$('.jogo2').html(inimigo);
counter2++;
if(counter2 === 3){
alert("end");
clearInterval(i);
counter2 = 0;
}
}, 200);
});
$(document).ready(function() {
var counter2 = 0;
var i = setInterval(function() {
var inimigo = $(".inimigo").clone();
// Followin is the fix code
$('.jogo2').prepend(inimigo.html());
// or use append to put new content at last
//$('.jogo2').append(inimigo.html());
counter2++;
if(counter2 === 3){
alert("end");
clearInterval(i);
counter2 = 0;
}
}, 200);
});