清除浏览器中的内存

Clearing memory in browsers

本文关键字:内存 浏览器 清除      更新时间:2023-09-26

我有一个图像旋转器,它为新幻灯片创建一个div,隐藏当前幻灯片,显示新的div,并删除隐藏的div。所有这些都是通过jquery完成的,我将使用以下代码删除不再需要的幻灯片:

var last = $("#item_" + lastSlide + "_" + idSuffix);
last.empty();
last.remove();
last = null;

每次滑动后内存仍在增加。有什么办法能有效地清除记忆吗?

在不同的幻灯片上使用不同的元素是不明智的。您应该使用两个元素来淡入幻灯片。这是我前一段时间写的代码:

el = function(q) {return document.getElementById(q)};
var slides=["logo.jpg","avond.jpg","bar.jpg","buitencloseup.jpg","servet.jpg","spelcomputers.jpg","tafelaanbar.jpg","tafelsbuiten.jpg"],
Math.floor(Math.random()*slides.length),
highimg=el("highimg"),
lowimg=el("lowimg"),
fade,
changeslide=function() {
    lowimg.style.backgroundImage=highimg.style.backgroundImage
    highimg.style.backgroundImage="url(img/slideshow/"+(slides[++_src]||slides[_src=0])+")"
    var time=highimg.style.opacity=0;
    highimg.style.filter="alpha(opacity=0)"
    if (fade)
    clearInterval(fade)
    fade=setInterval(function(){
        if(highimg.style.opacity<1)
        highimg.style.filter="alpha(opacity="+(highimg.style.opacity=time+=1/40)*100+")"
        else
        {
            highimg.style.filter="alpha(opacity=100)";
            highimg.style.opacity=1
            clearInterval(fade);
        }
    },25)
}
interval=setInterval(changeslide,10000)
highimg.onclick = changeslide
changeslide()

我想到的最佳解决方案是在删除元素之前清除html内容。

例如:

myDiv.html("");
myDiv.remove();