Я пытаюсь использовать плагин отложенной загрузки изображений jQuery для ленивой загрузки моих изображений. Пытаясь сделать это, я получаю сообщение об ошибке Uncaught TypeError: undefined is not a function во второй строке моего кода.

Вот мой код JS

jQuery(document).ready(function() {
    jQuery("img.lazy").lazy({
        effect: "fadeIn",
        effectTime: 1500
    });
});

Этот сценарий размещен внизу моей страницы в файле JS вместе с некоторыми другими моими сценариями.

У меня есть следующие сценарии в моем <head>, и я убедился, что файлы действительно связаны правильно.

<script type="text/javascript" src="/static/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="/static/js/jquery-ui.js"></script>

Я пробовал большинство решений этой проблемы на SO, но безуспешно.

1
Yin Yang 13 Авг 2014 в 22:53

1 ответ

Лучший ответ

jQuery lazy - это отдельный плагин, который недоступен ни в одном из jquery , или jquery-ui

Вам необходимо скачать и добавить ссылку вместе с остальными библиотеками jquery.

<script type="text/javascript" src="/static/js/jquery.lazy.min.js"></script>
3
karthikr 13 Авг 2014 в 22:55
Спасибо, теперь работает. Я запутался, потому что в документации упоминается <script type="text/javascript" src="../jquery.min.js"></script> <!-- or: --> <script type="text/javascript" src="../jquery.lazy.min.js"></script>
 – 
Yin Yang
13 Авг 2014 в 23:00
Да .. это немного вводит в заблуждение. Рад, что помог.
 – 
karthikr
13 Авг 2014 в 23:51