2013-12-17 28 views
0

我想要計算img的數量,但它沒有工作.. 我試圖計數div太多,但它沒有工作太..總是返回0jQuery不能使用長度和每個

progressBar = { 
countElmt: 0, 
loadedElmt: 0, 

init: function() { 
console.log('init dedans 1'); 

    var that = this; 
    this.countElmt = $('img').length; 

    // Construction et ajout progress bar 
    var $progressBarContainer = $('<div/>').attr('id', 'progress-bar-container'); 
    $progressBarContainer.append($('<div/>').attr('id', 'progress-bar')); 
    $progressBarContainer.appendTo($('body')); 


    // Ajout container d'éléments 
    var $container = $('<div/>').attr('id', 'progress-bar-elements'); 
    $container.appendTo($('body')); 

    // Parcours des éléments à prendre en compte pour le chargement 
    $('img').each(function() { 
     console.log('each ok'); 
     $('<img/>') .attr('src', $(this).attr('src')) 
      .on('load error', function() { 
      that.loadedElmt++; 
      that.updateProgressBar(); 
     }) 
      .appendTo($container); 
    }); 

    console.log('fin each, nombre d images = ' + progressBar.countElmt); 
}, 

updateProgressBar: function() { 
    $('#progress-bar').stop().animate({ 
     'width': (progressBar.loadedElmt/progressBar.countElmt) * 100 + '%' 
    }); 
} 
}; 

console.log('init avant'); 
progressBar.init(); 

有人可以告訴我問題來自哪裏?

+0

$('img')。length = 0? –

+0

你在檢查dom是否準備好了嗎? – KingKongFrog

回答