jQuery不能使用长度和每个

时间:2013-12-17 19:31:38

标签: jquery object each string-length

我正在尝试计算img的数量,但它不起作用.. 我也尝试计算div,但它也不起作用..它总是返回0

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(); 

有人可以告诉我问题可能来自哪里吗?

1 个答案:

答案 0 :(得分:1)

$(document).ready(function () {
    progressBar.init();
});