слишком много документов jquery на одной странице, конфликт не работает

Я могу ошибаться, но у меня есть этот сайт http://ephemurl.com/4w/5ty и я думаю, что причина, по которой причудливый плагин jScrollpane не работает, связана с чрезмерным количеством jQuery на этой странице, я надеюсь, что это имеет смысл. Мне просто нужна помощь, чтобы заставить все это работать вместе.

Есть идеи? и все они необходимы
http://code.jquery.com/jquery-latest.min.js
http://ephemurl.com/4w/5tz
http://ephemurl.com/4w/5u1
http://ephemurl.com/4w/5u2
http://ephemurl.com/4w/5u3
http://ephemurl.com/4w/5u4


person Tara Irvine    schedule 29.03.2011    source источник


Ответы (2)


.noConflict() говорит вашему jQuery отпустить переменную $ для других библиотек. Однако ваш about-tabs.js использует $, так что это определенно вызовет ошибку.

Самый простой способ исправить это - изменить

$(document).ready(function(){

to

jQuery(function($){

Таким образом, вы все еще можете использовать $ внутри вашей готовой функции (поэтому вам не нужно ничего менять.

person Richard Neil Ilagan    schedule 29.03.2011
comment
Не заметил ответа @Nathan выше; его тоже должно работать. Мое решение — это, по сути, сокращенный способ сказать его решение; это в основном просто вопрос личных предпочтений с вашей стороны. - person Richard Neil Ilagan; 29.03.2011
comment
Да, на самом деле я склонен использовать этот метод в своей работе. Я просто делал это дольше, чтобы соответствовать оригиналу. - person Nathan MacInnes; 30.03.2011

В about-tabs.js попробуйте изменить $(document).ready(function () { на jQuery(document).ready(function ($) {. Эта строка вызывает ошибку в данный момент, потому что вы не использовали конфликт.

Кстати, отсутствие конфликтов не должно предотвращать конфликты плагинов jQuery друг с другом. Это необходимо для предотвращения конфликтов jQuery с другими фреймворками.

person Nathan MacInnes    schedule 29.03.2011
comment
Спасибо вам обоим за ответ! Однако я столкнулся с большим количеством проблем, например, страница, которую я отправил, была неправильно связана. Я снова загружу панель jscroll и попытаюсь добавить ее, и если мне нужно использовать $(document).ready(function () { для чего-либо, я буду использовать jQuery(document).ready(function ($) { ?? - person Tara Irvine; 01.04.2011