JQuery не может использовать длину и каждый

0

Я пытаюсь подсчитать количество 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(); 

Кто-то может сказать мне, от чего может возникнуть проблема?

  • 0
    $ ('img'). длина = 0?
  • 0
    Вы проверяете, готов ли Дом?
Теги:
object
each
string-length

1 ответ

1
Лучший ответ
$(document).ready(function () {
    progressBar.init();
});
  • 0
    Спасибо большое !

Ещё вопросы

Сообщество Overcoder
Наверх
Меню