Сегодня я расскажу вам как можно избежать конфликта двух библиотек, на
примере jQuery и mootools и добиться хорошей производительности на
вашем сайте.
Недавно у меня был баг со слайдером на сайте который со всеми возможными скриптами конфликтовал, проблему я решил через несколько часов... через определенное время конфликт повторился только уже с другим скриптом, и старые методы не помогали. Тут я подумал почему бы не использовать функцию "jQuery.
noConflict();"
Теперь поясню в чем дело - JQuery и mootools используют для вызова функции $, следовательно происходит конфликт и библиотеки отказываются работать.
Теперь приступим к устранению конфликта, мы заменяем функцию вызова $(…), на jQuery(…):
Code
<html>
<head>
<script src="mootools.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery("div").hide();
});
$('someid').hide();
</script>
</head>
<body></body>
</html>
Как вы видите, я заменил все $ на Jquery.
Случай второй:
Вы можете переопределить функцию вызова jQuery на любую другую переменную ( к примеру $jQuery )
Code
<script>
var $jQuery = jQuery.noConflict();
$jQuery(document).ready(function(){
$jQuery("div").hide();
});
$('someid').hide();
</script>
Ну и наконец в заключение.
Можно сократить код jQuery установить функцию noConflict();, преимущество этого способа в том что он не переопределяет функцию вызова!
Code
<script>
jQuery.noConflict();
$("div").hide();
});
$('someid').hide();
</script>
Вот и все, желаю удачи в устранении конфликтов!
-------------- Комментарий --------------