[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Конфликт JQuery
Newbie257
Хочу использовать одновременно на одной странице слайдер и fancybox-фотогалерею.
При использовании их по отдельности конфликтов не наблюдается всё работает хорошо.
Слайдер такой http://mashinki.net.ua/tester/test1/
и Фотогалерея http://mashinki.net.ua/tester/test2/
комбинирую их на одну страницу http://mashinki.net.ua/tester/testall/
фотогалерея не работает

Подскажите, пожалуйста, как подправить код, чтобы всё заработало.
Искал при помощи поиска на форуме похожие вопросы и в гугле. Там в случаях конфликтных ситуаций библиотек советуют заминить все $ на jQuery и еще в определенном месте написать jQuery.noConflict();
и возможно ещё где-то прописать jQuery(document).ready(function() { }

Но где всё это в какой последовательности писать не знаю (т.к.у меня несколько яваскрипт-файлов)




Спустя 1 час, 21 минута, 56 секунд (7.10.2012 - 23:13) inpost написал(а):
хороший совет они дали. А проблема в том, что ты должен понимать и заменить в jQuery всё так, как тебе сказали и написали.
Открываешь каждый скрипт и исправляешь $ на jQuery, в чём проблема?
А конфликты всегда будут, когда криво пишут скрипты smile.gif

Спустя 18 минут, 58 секунд (7.10.2012 - 23:32) Newbie257 написал(а):
Ну заменить, я могу. причем быстро, для этого используя notepad++,
но знать бы в каких файлах менять

у меня в моём файле http://mashinki.net.ua/tester/testall/
за слайдер отвечает маленький кусок кода:

<script type="text/javascript" src="js_e4ea3828e68753f0bdcea8992a2f792c.js" "></script>
<script type="text/javascript">
<!--
//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "custom_search": { "form_target": "_self", "solr": 0 } });
//--><!]]>
</script>


а фотогалерея-fancybox за неё отвечают несколько файлов, ссылка на которые между тегами <head> </head>
там за неё отвечают несколько файлов.js:

<!-- Add jQuery library -->
<script type="text/javascript" src="fb_files/lib/jquery-1.8.2.min.js"></script>
<!-- Add mousewheel plugin (this is optional) -->
<script type="text/javascript" src="fb_files/lib/jquery.mousewheel-3.0.6.pack.js"></script>
<!-- Add fancyBox main JS and CSS files -->
<script type="text/javascript" src="fb_files/source/jquery.fancybox.js?v=2.1.1"></script>
<!-- Add Button helper (this is optional) -->
<script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-buttons.js?v=1.0.4"><
/
script>
<!--
Add Thumbnail helper (this is optional) -->
<
script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"><
/
script>
<!--
Add Media helper (this is optional) -->
<
script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-media.js?v=1.0.4"></
script>
<
script type="text/javascript" src="fb_files/myscript.js">
</script>


в первой строчке подключается библиотека , а остальные шесть файлов - непосредственно фотогалерея
как их редактировать не понимаю. все или какой-то один ?

Спустя 14 часов, 34 минуты, 12 секунд (8.10.2012 - 14:06) Newbie257 написал(а):
и как?

Спустя 3 часа, 10 минут, 2 секунды (8.10.2012 - 17:16) Newbie257 написал(а):
Цитата
Открываешь каждый скрипт и исправляешь $ на jQuery, в чём проблема?

т.е. заменить только в конфликтующей фотогалерее или ещё и в слайдере?

Спустя 18 часов, 34 минуты, 8 секунд (9.10.2012 - 11:50) Newbie257 написал(а):
Помогите с логикой, что куда писать

Спустя 1 час, 39 минут, 49 секунд (9.10.2012 - 13:30) Newbie257 написал(а):
Во всех файлах, связанных с funcybox заменил $ на JQuery. И написал в html-коде:
<script type="text/javascript">jquery.noConflict();</script>


все равно ничего не поменялось

Спустя 18 минут, 22 секунды (9.10.2012 - 13:48) Игорь_Vasinsky написал(а):
Цитата
<!-- Add mousewheel plugin (this is optional) -->
<script type="text/javascript" src="fb_files/lib/jquery.mousewheel-3.0.6.pack.js"></script>
<!-- Add fancyBox main JS and CSS files -->
<script type="text/javascript" src="fb_files/source/jquery.fancybox.js?v=2.1.1"></script>
<!-- Add Button helper (this is optional) -->
<script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-buttons.js?v=1.0.4"><
/script>
<!-- Add Thumbnail helper (this is optional) -->
<script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"><
/script>
<!-- Add Media helper (this is optional) -->
<script type="text/javascript" src="fb_files/source/helpers/jquery.fancybox-media.js?v=1.0.4"></
script>
<script type="text/javascript" src="fb_files/myscript.js">
</script>


меняй местами постепененно подключение JS файлов. чередуй.

Спустя 23 минуты, 2 секунды (9.10.2012 - 14:11) Newbie257 написал(а):
не понял, что чередовать?
это же всё js.файлы фотогалереи-funcybox.
Конфликт, же со слайдером, а не между файлами галереи

Спустя 19 минут, 11 секунд (9.10.2012 - 14:30) Newbie257 написал(а):
вы привели цитату, в которой я подключаю в
<head> </head>
только js.файлы галереи
Т.е. в этом нет никакого смысла. Она же не конфликтует сама с собой.
А со слайдером.
А вот js-файл слайдера подключается после, в
<body></body>


Для экперимента я попытался подключить слайдер первым,
т.е. вынес подключение слайдера в head перед подключением галереи
перестала работать не только галерея, но и слайдер

Спустя 2 минуты, 12 секунд (9.10.2012 - 14:33) Игорь_Vasinsky написал(а):
попробуй библии JQ 1.5.n и 1.7.n

Спустя 10 минут, 31 секунда (9.10.2012 - 14:43) Newbie257 написал(а):
попробовал подключить вместо той что у меня в коде Jquery 1.8

<script type="text/javascript" src="fb_files/lib/jquery-1.8.2.min.js"></script>


версии 1.5 и 1.7
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>

		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>

		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>

всё равно не помогает

Спустя 43 минуты, 28 секунд (9.10.2012 - 15:27) Newbie257 написал(а):
заметил, что в файле слайдера js_e4ea3828e68753f0bdcea8992a2f792c.js, по всей видимости повторно подключается JQuery.
Возможно в этом конфликт, но какие строки редактировать?
убрал всё что в нём с самого начала до
/*
* Sizzle CSS Selector Engine - v0.9.3
* Copyright 2009, The Dojo Foundation

по всей видимости если убрал повторно описанную библиотеку, то должно было заработать, но перестал работать и слайдер

Спустя 1 час, 45 минут, 59 секунд (9.10.2012 - 17:13) Newbie257 написал(а):
вернул всё на старые места, как быть не знаю )

Спустя 47 минут, 15 секунд (9.10.2012 - 18:00) Hello написал(а):
Newbie257, подключите jquery после слайдера.

Спустя 9 минут, 32 секунды (9.10.2012 - 18:09) Newbie257 написал(а):
если подключить после, то галерея вродебы как бы пытается что-то вывести, но все равно безуспешно и слайдер коряво начинает работать

можете посмотреть это на сайте я уже подогнал код
http://mashinki.net.ua/tester/testall/

Спустя 54 минуты, 53 секунды (9.10.2012 - 19:04) Newbie257 написал(а):
Па Ма Ги те )

Спустя 56 минут, 27 секунд (9.10.2012 - 20:01) inpost написал(а):
Это не 5 минут дела. Надо разбираться, вдруг там внутри опять подключение идёт, тогда лишнее надо убрать.
Надо смотреть место, на которое будет ругаться в логах, исправлять чужие кривые скрипты, или гораздо проще выкинуть данный слайдер и написать свой(!), или поискать более нормальные.

Спустя 26 минут, 50 секунд (9.10.2012 - 20:28) Newbie257 написал(а):
слайдер или галерею?
потому что вроде бы ошибка в fancyboxe
(т.к. с другим слайдером проверял, у неё тоже конфликт)

но как раз слайдер я бы еще поискал, а вот fancybox галерея мне очень нравится

Спустя 15 часов, 37 минут, 52 секунды (10.10.2012 - 12:05) Newbie257 написал(а):
вот гугл хром в отладчике выдает ошибку,
но как её исправить

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.