Проблема Fancybox: undefined не является функцией - PullRequest
0 голосов
/ 28 декабря 2011

У меня небольшая проблема здесь. Пытаясь установить fancybox, я получаю эту ошибку JavaScript:

'undefined' is not a function (evaluating '$("a.fancybox").fancybox()')

вот мой HTML

<a href="http://localhost/vm/wp-content/gallery/txt/l2.jpg" class="fancybox">
<img src="http://localhost/vm/wp-content/gallery/testando/thumbs/thumbs_l2.jpg">
</a>

и мой JavaScript

<script type="text/javascript">
$(document).ready(function() {
    $("a.fancybox").fancybox();
});
</script>

Кто-нибудь сталкивался с этой проблемой?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Я столкнулся с подобной проблемой, когда на странице есть две копии jQuery. Поэтому убедитесь, что на вашей странице есть только ОДНА копия jQuery.

Что происходит, так это то, что Fancybox расширяет себя с первой копии jQuery; но из-за второй копии готовый документ вызывается только из этой копии. И, конечно, Fancybox не применяется к нему.

1 голос
/ 29 декабря 2011

Я предполагаю, что вы используете fancybox v1.3.x, потому что эта версия не может отображать динамически добавленные элементы в Fancybox (FYI Fancybox v2.x может обрабатывать существующие и динамически добавленные элементы).

Если вы не используетеЕсли вы не хотите обновляться до Fancybox v2.x, у вас есть два варианта:

  1. Используйте плагин jQuery livequery или
  2. Перестройте сценарий и используйте jQuery delegate() для запуска fancybox с помощьюновые элементы

Обе опции объясняются здесь .

Обратите внимание, что использование решения jQuery delegate() не будет работать с галереями Fancybox, только с отдельными элементами.

Если вы не хотите использовать плагин livequery и по-прежнему хотите использовать галереи Fancybox с динамически добавляемыми элементами, вы также можете перейти на jQuery 1.7+ и использовать новый API jQuery on()

У меня есть демонстрационная страница , которая показывает, как использовать jQuery для () для отображения галерей Fancybox с существующими и динамически добавленными элементами.Пожалуйста, не стесняйтесь смотреть на исходный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...