2010-10-08 97 views
0

我已經創建了一個畫廊腳本,它首先加載圖像顯示 http://bit.ly/9aQdr3.load()不點火的

所有圖片有36張圖片,但image.load()被解僱只有27倍。這裏是代碼

var c = 0; 
    for(var i =1; i <= 36; i++){ 
     var img = '<img width="500" src="images/' + i + '.jpg" />' 
     $('#gallery .images').append(img); 
    } 

    $('#gallery .images img').css({display: 'block', position: 'absolute', left: '0px', top: '0px'}); 
    $('#gallery .images img').hide(); 
    totalImages = $('#gallery .images img').size(); 
    $('#gallery .images img').load(function(){   
     c++; 
     var ip = parseInt((c/totalImages)*100);      
     $('#gallery .images p').text('Loading ... ' + ip + '%');    
     if(c == totalImages){    
      $('#gallery .images p').remove(); 
      $('#gallery .images img').eq(0).show(); 
      interval = setInterval(startAnimation, 100); 
      isPlaying = true; 
     } 
    }); 
+0

您是否嘗試過將CSS和做後您將追加一個範圍解析附加負載處理程序?另外,爲了便於閱讀,請執行'var $ gallery = $('#gallery images')',然後在.load代碼之後移動append後可以執行$ gallery.find('p')等 – glebm 2010-10-08 14:08:53

+0

。它沒有任何錯誤沒有工作。 – coure2011 2010-10-08 21:01:58

回答

0

的問題似乎是這裏

if(c == totalImages){ 
    $('#movieShow .images p').remove(); 
    $('#movieShow .images img').eq(0).show(); 
    interval = setInterval('startAnimation()', 100); 
    isPlaying = true; 
} 

嘗試打印在Firebug控制檯c和totalImages,也許你有C語言變量或totalimages增量的問題不預期的價值。

注:不是

interval = setInterval('startAnimation()', 100); 

請使用

interval = setInterval(startAnimation, 100); 

這樣就可以避免使用昂貴的eval()

+0

不,那不是解決方案。仍然堅持在74% – coure2011 2010-10-08 13:48:21