2009-10-12 79 views
0

我用javascript代码 - jquery和PHP。我喜欢有一个文件夹,让asy 100图像,扫描它,并让它与屏幕淡入淡出,并延迟... 大部分可以做到非常esealyGenerale图像预加载问题

问题:只为速度为此,我想了解IMG1,显示它 预紧IMG2 等待2-3秒 淡出为IMG2 预紧IMG3 等待 ...等等...

所以只有2在图像负载同一时间要快得多,并且不需要太多的编码,只需切换下一个图像即可......

现在,拥有100张以上的图片会使其加载速度变慢,而我不会谈论250!那只是杀死电脑 任何想法

我想阿贾克斯广告jquery tu动态地改变img参考和preload ....任何想法的人????

回答

2
在jQuery的

,可以使动画渐变image.load事件的

像这样(未经)

 images = [ "one.jpg", "two.jpg" ...]; 
     divs = ["#first", "#second"]; 
     fore = 0; 

     function show() { 
      if(!images.length) return; 
      var back = 1 - fore; 
      $(divs[back]).html("<img>").find("img").attr("src", images.shift()).load(function() { 
       $(divs[fore]).fadeOut(); 
       $(divs[back]).fadeIn(); 
       fore = back; 
       setTimeout(show, 1000); 
      }); 
     } 
+0

我不怀疑,但是它确实工作的回调:HTTP:// jsbin.com/erefe/ – jantimon 2009-10-12 09:41:44

0

在显示image1时,通过为其创建图像标记或使用javascript图像对象,让浏览器加载并缓存image2。

当您准备切换图像时,只需将主图像从image1更新为image2(它已经存在于浏览器缓存中,因此不会延迟)。此时将隐藏图像更新为image3并等待其完全加载。