Javascript 多次替换图像src会变慢
我想测试并预加载我们的imageserver。我想看所有的图片 url为//media.our.dom/{id}/size 我设置了400个虚拟缩略图Javascript 多次替换图像src会变慢,javascript,jquery,image,Javascript,Jquery,Image,我想测试并预加载我们的imageserver。我想看所有的图片 url为//media.our.dom/{id}/size 我设置了400个虚拟缩略图 然后我加载一个图像,一旦完成,加载下一个图像,以此类推 $(“文档”).ready(函数(){ loadimg(1000); }) 函数加载img(n){ i=n%400; $(“#img"+i).attr('src','//media.our.dom/'+n+'/thumb').load(函数(){ 如果(n
然后我加载一个图像,一旦完成,加载下一个图像,以此类推
$(“文档”).ready(函数(){
loadimg(1000);
})
函数加载img(n){
i=n%400;
$(“#img"+i).attr('src','//media.our.dom/'+n+'/thumb').load(函数(){
如果(n<50000)荷载img(n+1)
})
}
我有400张图片,每一张都被替换,一张一张,看起来光标从左到右,从上到下,然后回到左上角
它一开始工作正常,大约10张图像/秒,但速度变慢了,1000张图像后需要4秒/图像,一段时间后chrome崩溃
我认为它可能失败的原因有两个:
我不介意让更多线程同时加载图像,例如,一个线程同时加载偶数图像、一个奇数图像或更好的10/20图像,以强调imageserver。
loadimg()递归调用自身,导致内存泄漏一旦缓存图像,就会立即触发load
事件,一次又一次地调用相同的函数。这可能是浏览器冻结的原因。您是否尝试过将时间戳设置为图像url$(“#img_u”+i).attr('src','//media.our.dom/'+n+'/thumb?'+$.now())
。仅供参考,$(“文档”)
应该是$(文档)。
它不是同一个图像,i=n mod 400。所以第一次得到image1,jpg,下一次得到image401.jpg,然后是image801,jpgOh对不起,你在url中使用的是n
,不是i
,我的错!