2012-09-03 34 views
1

我正在使用以下脚本来预加载图像;想知道如何在等待完成预加载时显示沙漏光标。图像数组预加载显示沙漏光标,同时预加载

function preload_images() { 

      var i; 
      for (i = 1; i < sl; i++) { 
       images[i] = new Image(); 
       $('#selector').css('cursor', 'wait'); 
       var name = impath.toString() + imStart.toString() + i + ext; 
       images[i].src = 'ImageHandler.ashx?img=' + name + '&window=50&level=50 &slice=0'; 
       $('#selector').css('cursor', 'default'); 
      } 
     } 
+0

数组通常从0开始。您在循环中从1开始的任何原因? –

回答

1

使用图像loaderror(如果任何图像不加载)事件来算多少图像已加载,当所有负载删除光标。

function preload_images() { 
     var i, count = 0; 
     $('#selector').css('cursor', 'wait'); 
     for (i = 0; i < sl; i++) { 
      images[i] = new Image(); 
      var name = impath.toString() + imStart.toString() + i + ext; 
      image[i].onload = image[i].onerror = function(){ 
       count++; 
       if (count == sl){ 
        $('#selector').css('cursor', 'default'); 
       } 
      }     
      images[i].src = 'ImageHandler.ashx?img=' + name + '&window=50&level=50 &slice=0'; 
     } 
    } 
+0

谢谢穆萨,听起来不错,除了我没有那么有经验知道如何实施你的建议 – hncl

+0

@ user373721看到更新 – Musa

+0

非常感谢。 – hncl