gpt4 book ai didi

javascript - 如何从内存中删除动态创建的 div?

转载 作者:行者123 更新时间:2023-11-29 18:28:12 25 4
gpt4 key购买 nike

我在使用 javascript 时遇到问题,该 javascript 在页面上随机创建背景 div(以在我的网站背景上创建这些 float 圆圈)。该脚本按以下时间间隔运行:

var floatInterval = window.setInterval(createFloaters, 10000);
function createFloaters()
{
lastHeight = 0;
pageOffset = $('#logo').offset();
for(j = 0; j<10; j++)
{
randomSize = j * Math.random()*20;
randomTop = Math.random()*randomSize + lastHeight + Math.random()*10 + 10;
plusOrMinus = [-1,1][Math.random()*2|0];
randomColorNum = Math.floor(Math.random()*colArr.length);
randomColor = colArr[randomColorNum];
randomLeft = Math.random()*990 + pageOffset.left;
randomOpacity = Math.random()*.5;

$('#floatContainer').append('<div class="circle d' + j + '" style="width:' + randomSize + 'px; height:' + randomSize + 'px; position: absolute; top:' + eval((randomTop - Math.random()*500)*plusOrMinus) + 'px; left:' + eval((randomLeft + Math.random()*200)*plusOrMinus) + 'px; border-radius:' + randomSize + 'px; background:' + randomColor + '"></div>');
lastHeight += randomSize;
$('.d' + j).delay(Math.random()*500).animate({top: randomTop, left: randomLeft, opacity: randomOpacity}, Math.random()*5000 + 5000).fadeOut().queue(function(){

$(this).remove();


});
}

console.log('FLOAT LENGTH: ' + $('#floatContainer div.circle').length);
}

一旦创建了一个 float 圆圈,它就会动画化,然后被移除。看起来 div 没有被完全删除。

当我在关注选项卡的同时跟踪正在创建的 div 的数量时,我得到了一些正常的东西。

Number of Divs: 13
Number of Divs: 21
Number of Divs: 13
Number of Divs: 21
Number of Divs: 13
Number of Divs: 21

然后我切换标签,坐在那里几分钟,返回到原始标签,这就是我看到的:

Number of Divs: 187
Number of Divs: 197
Number of Divs: 207
Number of Divs: 13
Number of Divs: 21
Number of Divs: 13
Number of Divs: 21
Number of Divs: 13
Number of Divs: 21

我该怎么做才能解决这个问题?如何从内存中永久删除动态创建的 div?我检查了事件监视器,页面运行的时间越长,它就会继续占用内存。

最佳答案

您使用的队列有误。只需添加一个回调到 fadeOut。

.fadeOut(function(){$(this).remove();});

关于javascript - 如何从内存中删除动态创建的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10956824/

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