Объединение нескольких jQuery-скриптов - PullRequest
2 голосов
/ 25 января 2011

Я пытаюсь создать простой сайт-портфолио для моего друга на основе его рисунков и картин.Компоновка относительно проста, но оказывается очень сложной для реализации.У меня есть три jquery-скрипта на странице, каждый из которых выполняет определенную функцию.

1) bgStretcher - растягивает серию фоновых изображений для заполнения окна пользователя.
2) collapse - простая складывающаяся система меню
3) galleryview - базовая галерея слайд-шоу без излишеств

В настоящее время bgstretcher и collapse находятся на одной странице с именем nav.shtml (http://yungchoi.com/nav.shtml) и галерея наgallery.shtml (http://yungchoi.com/gallery.shtml). Отдельно они работают нормально, но когда я вызываю навигационную страницу через SSI ( test.shtml ), кажется, что код сталкивается с проблемами и становится отключенным.

Все решения, которые я нашел, приводят к использованию функции noConflict в jquery (/1921908/ispolzovanie-neskolkih-bibliotek-jquery-i-jquery-ui), (http://hubpages.com/hub/How-to-use-jQuery_noConflict),), но каждый раз, когда я пытаюсь вставить его и изменить свой код, все снова портится. Я также организовал файлы каждого скриптав отдельные папки и каталоги, но это тоже не помогло.

Мой опыт в графическом и веб-дизайне, поэтому мои навыки кодирования не самые лучшие. Я знаю основы, но переписывание кода jquery не было чем-тоЯ когда-либо учился, поэтому я не понимаю, как правильно решить эту проблему. Если кто-то сможет ясно и легко объяснить, что янужно сделать, чтобы все это работало вместе, я был бы очень признателен.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 25 января 2011

У вас все еще есть несколько версий jQuery, загружаемых на вашу страницу.

Удалить:

<script type="text/javascript" src="support/bgstrecher/jquery-1.3.2.min.js"></script>

и

<script src="support/collapse/jquery-1.2.1.min.js" type="text/javascript"></script>

Вы также должны удалить:

<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

& - (потому что вам нужен толькоупакованная или распакованная версия, но не обе)

<script type="text/javascript" src="galleryview/jquery.galleryview-2.1.1.js"></script>

Посмотрите, поможет ли это.

Вам нужен noConflict, только если вы собираетесь использовать другие библиотеки, похожие на jQuery, такие как MooTools,Додзё или Прототип.Маловероятно, что вам понадобится & если вы это сделаете, вам нужно будет перекодировать, чтобы использовать функцию jQuery вместо $.

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

0 голосов
/ 25 января 2011

У вас все еще есть несколько вызовов jQuery (даже если файлы не находятся в одних и тех же каталогах).Таким же образом вы дважды вызываете "galleryview / jquery.galleryview-2.1.1.js" (второй файл только что упакован).

Кстати, моя консоль ошибок сообщает мне, что:

"Ошибка: jQuery.timer не определен Исходный файл: http://yungchoi.com/galleryview/jquery.timers-1.2.js Строка: 135"

Вы уверены, что вам нужен этот плагин таймера?На данный момент, кажется, у вас слишком много скриптов.Попробуйте удалить все ненужные файлы (вы должны сохранить только одну версию jquery. Но если некоторые плагины, с которыми вы работали, несовместимы, у вас будет все больше и больше проблем с совместимостью).

0 голосов
/ 25 января 2011

Почему вы загружаете Jquery дважды?

Сначала файл за 1.4.2 минуты, а затем полный файл сразу после?

...