Недопонимание плагина jQuery

#jquery #jquery-plugins

#jquery #jquery-плагины

Вопрос:

Я загрузил массив с данными из xml-файла. Я знаю, что данные находятся в массиве в месте расположения кода, поскольку я им пользуюсь. Я пытаюсь запустить плагин для предварительной загрузки изображений. Я еще не зашел так далеко. Я застрял на том факте, что мой плагин не запускается. Странно то, что когда я включаю оповещение о предупреждении (‘hello’), данные из моего массива выталкиваются так, как я хочу. Когда я вынимаю его, он не работает. Я достаточно новичок в этом, но не полный новичок .. Для меня это просто не имеет смысла.

 (function( $ ){
alert('hallo');
  $.fn.preload = function() {        
    this.each(function(){
                alert(this.children('name').text());

    });
}
})( jQuery );

$(photoArray).preload();
  

Я потерян … !

Комментарии:

1. предупреждение не влияет ни на одну другую строку кода, которая идет после него. Возможно, вам следует выполнить некоторую отладку с помощью firebug. $.fn, возможно, не определен … пожалуйста, обновите

2. @ArtWorkAD — Спасибо.. Я понял. Добавленное предупреждение содержит скрипт для заполнения массива, прежде чем я удалю его, и код будет продолжен. Когда я вынимаю предупреждение, код запускается, но массив по-прежнему пуст. О, мой затуманенный разум

Ответ №1:

Этот скрипт работает нормально. Убедитесь, что отправляемый массив заполнен данными.

Массив динамически заполняется данными из XML-файла. На момент выполнения вызова плагина массив еще не заполнен. Добавленное предупреждение задерживает скрипт на мгновение, которого достаточно для заполнения массива. Следовательно, скрипт не анализирует данные без дополнительной задержки с предупреждением, потому что данных нет.