Решения проблемы jQuery конфликта c Mootools

Раздел: DataLife Engine » Советы по DLE
Решения проблемы jQuery конфликта c Mootools

Часто в шаблонах dle не работают скрипты, слайдер или другие функции, если присутствует библиотека Mootools, происходит проблема конфликт jQuery библиотеки c Mootools. При подключении первой начинает выбивать ошибки (спасибо IE8, опера на конфликт просто не обратила внимания), и, думаю, работать будет через раз, как повезет.

Лучше использовать какую-нибудь одну библиотеку. Да и вообще - Mootools многие вещи позволяет так же реализовать плюс размер меньше... Но если уж так неохота сидеть, перегонять jQuery'вский скрипт на Mootools, заодно и повыкидывать лишние килобайты, и если jQuery кода относительно мало , то решение этой проблемы можно найти в этой статье.
Решения проблемы jQuery конфликта c Mootools на Dle
1. Для это обязательно библиотеки должны быть выше всех скриптов!
Библиотека Mootools должна быть выше библиотеки jQuery и мы получаем что то вроде этого:
Общий вид:

<script type="text/javascript" src="/js/mootools.js"></script><script type="text/javascript" src="/js/jquery.js"></script>


Для тех у кого DLE:

<script type="text/javascript" src="{THEME}/js/mootools.js"></script>{headers}


Маленький пример изменения:

<script type="text/javascript">jQuery.noConflict();</script>


Для это берем все знаки доллара $ и заменяем на jQuery. То есть если у нас была такая функция:

$(document).ready(function(){$("#idv p.testclass").click(function(){ /* .... */ }}


после замены будет выглядеть:

jQuery.noConflict();jQuery(document).ready(function(){ jQuery("#idv p.testclass").click(function() { /* .... */ }}


Расширенный пример изменения скрипта.
До:



После:


В целом у нас получился такой код в шаблоне:


Вот собственно и все.

Предлагаем на сайте dle http://www.dle9.com/ решения проблемы jQuery конфликта c Mootools
  • 80
Рубрика: Все для DLE » Советы по ДЛЕ
Ранее » Устраняем подергивание кнопки Добавить в закладки« Далее Внутренняя перелинковка dle сайта
Добавление комментарияОставить комментарий
  • № :5
  • 13 марта 2015 17:45
Цитата: Moloko
Решил иным способом, более ленивым =|


У меня все работает =)


просто добавили тег дле

{headers}

это сообщение к шаблону надо было
http://www.dle9.com/besplatnye/shabloni/84-universalnyy-shablon-dlya-dle-jarasit
e.html

, а к скрипту Mootools отношение не имеет
  • № :4
  • 13 марта 2015 16:57
Решил иным способом, более ленивым =|

Находим далее строчки
            <script type="text/javascript">
			var megamenu = new jaMegaMenuMoo ('ja-mainnav', {
				'bgopacity': 0, 
				'delayHide': 1000, 
				'slide': 1, 
				'fading': 0,
				'direction':'down',
				'action':'mouseover',
				'tips': false,
				'duration': 300,
				'hidestyle': 'fastwhenshow'
			});			
			</script>
	  </div>
    </div>
<!-- //MAIN NAVIGATION -->

<!-- TOP SPOTLIGHT -->


и должно получиться вот так
<script type="text/javascript">
			var megamenu = new jaMegaMenuMoo ('ja-mainnav', {
				'bgopacity': 0, 
				'delayHide': 1000, 
				'slide': 1, 
				'fading': 0,
				'direction':'down',
				'action':'mouseover',
				'tips': false,
				'duration': 300,
				'hidestyle': 'fastwhenshow'
			});			
			</script>
	  </div>
    </div>
<!-- //MAIN NAVIGATION -->
{headers}
<!-- TOP SPOTLIGHT -->


У меня все работает =)
  • № :3
  • 28 мая 2013 15:58
Спасибо! Только нужно менять не просто
$ а
$. на ololo.
$( на ololo(
$[ на ololo[
и всё вроде. Просто я не знаю ни жаву ни пэхапэ них.я кароче) Вот и пришлось помучиться :) Может кому-то тоже пригодися.
  • № :2
  • 14 мая 2013 19:02
Нет это не везде работает.
  • № :1
  • 16 января 2013 12:27
Походит для всех версий?