Prototype и jQuery используем одновременно
Подскажите, как можно заставить работать одновременно jquery и prototype??
В шапке пишу: <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/menu.js"></script> ито и дргое важно делаю так: <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/menu.js"></script> <script>jQuery.noConflict();</script> в IE ошибка |
Конфликт только из-за "$". Либо учите все плагины для Jquery работать без "$" (они обычно уже научены: (function($) {})(jQuery) ) , либо наоборот.
|
Как это сделать? (научить)
|
Учитесь находить нужное в документации: http://docs.jquery.com/Using_jQuery_...ther_Libraries
|
я это читал ..
<html> <head> <script src="jquery.js"></script> <script src="menu.js"></script> <script src="prototype.js"></script> <script> // Use jQuery via jQuery(...) jQuery(document).ready(function(){ jQuery("div").hide(); }); // Use Prototype with $(...), etc. $('someid').hide(); </script> </head> <body></body> </html> не помагает, это я изначально писал |
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript">jQuery.noConflict();</script> <script type="text/javascript" src="js/prototype.js"></script> Наверное логичнее подключать скрипты в таком порядке, чтобы не произошло перезаписи ссылки $. |
$.noConflict()
This helps to make sure that jQuery doesn't conflict with the $ object of other libraries. By using this function, you will only be able to access jQuery using the 'jQuery' variable. For example, where you used to do $("div p"), you now must do jQuery("div p"). NOTE: This function must be called after including the jQuery javascript file, but before including any other conflicting library, and also before actually that other conflicting library gets used, in case jQuery is included last. Сначала подключаем jQuery, потом вызов noConflict, потом prototype UPD Ступил, Octane все правильно написал :) |
Вечер добрый всем!
Подскажите пожалуйста, использую в сайте два разных скрипта Java jquery.prettyPhoto (для галереи) и jquery-easing (на нем построена шапка и весь сайт). Как не смешно, но работает то один, то другой, а вот вместе никак... <script>jQuery.noConflict();</script> не помогает коды следующие: <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/jquery.prettyPhoto.js" type="text/javascript"></script> <script src="js/gallery.js" type="text/javascript"></script> и <script src="js/jquery-1.2.1.pack.js" type="text/javascript"></script> <script src="js/jquery-easing.1.2.pack.js" type="text/javascript"></script> <script src="js/jquery-easing-compatibility.1.2.pack.js" type="text/javascript"></script> <script src="js/coda-slider.1.1.1.pack.js" type="text/javascript"></script> Заранее огромное спасибо! |
easing есть для новой версии jQuery
|
Цитата:
|
|
тут с примерами http://vremenno.net/js/jquery-easing-plugin/
|
после установки новой версии 1.3. не то чтобы либо сайт, либо галерея работала, а ни то ни то не работает(
может еще что-то подскажете, что в коде поменять или прописать нужно? |
Цитата:
|
зачем угадывать?
я так понимаю, что тут дело не в версии, по отдельности всё работает нормально да и новая весрия jquery-easing-compatibility1.3. в основной части не отличается от 1.2, а там где отличается, так сайт постороен на старой версии и не вижу именно в этом проблемы. здесь получается конфликт "$", а следовательно его надо просто как-то избежать. тот способ, что описан <script>jQuery.noConflict();</script> хорош, но в данном случае не помагает. возможно, есть какая-то другая команда, это я и хочу узнать. |
а еще, если убрать эту строчку
<script src="js/coda-slider.1.1.1.pack.js" type="text/javascript"></script> то PrettyPhoto сразу нормально работает, но в таком случае меню исчезает. так что проблему нужно искать здесь, а не в версиях jquery-easing... |
Цитата:
|
вот тестовый пример создаваемой галереи, у меня всё аналогично:
http://www.linkexchanger.su/examples...oto/demo2.html библиотеки подключены к странице, как описано выше, повторюсь: <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/jquery.prettyPhoto.js" type="text/javascript"></script> <script src="js/gallery.js" type="text/javascript"></script> если это отдельная страница, то всё работает. но эту галерею я хочу вписать в сайт, ориентировочный шаблон такой: http://www.templatemo.com/preview/templatemo_159_wooden сайт тоже сам по себе настроен и работает отлично. меню построено на cross-link'ах и страница у меня одна: index.html. все скрипты есть и подключены: <script src="js/jquery-1.2.1.pack.js" type="text/javascript"></script> <script src="js/jquery-easing.1.2.pack.js" type="text/javascript"></script> <script src="js/jquery-easing-compatibility.1.2.pack.js" type="text/javascript"></script> <script src="js/coda-slider.1.1.1.pack.js" type="text/javascript"></script> п.с. css-ки тоже есть все. но когда в тело сайта пытаюсь подключить скрипты PrettyPhoto, всё что остается на сайте - это "loading", больше ничего нет. если убрать из библиотеки сайта <script src="js/coda-slider.1.1.1.pack.js" type="text/javascript"></script> то галерея начинает работать, но меню в сайте исчезает, что неприемлимо. надеюсь, описано подробно. если кто-нибудь сможет помочь, буду признательна:) |
Доброго дня
у меня по всей видимости конфликтуют prototype и jquery меню сайта сделано по аналогии с http://tympanus.net/Tutorials/SlideDownBoxMenu/ про него можно найти туториал тут http://tympanus.net/codrops/2010/07/...down-box-menu/ хотел поставить lightbox 2, который использует prototype в итоге lightbox работает, а меню перестало при этом в консоли ошибок js ничего нет, но меню не показывается насколько понимаю такой конфликт - частое дело, только не совсем понимаю, что делать для его решения. читал про jQuery.noConflict(); но как применить его в данном случае не понял (скорее всего нужно как-то переписать функцию, которая приведена в конце туториала, чтобы не было проблем с $ , но как это сделать не понял) проблему решил! http://semenushkin.ru/2010/07/14/к�...�теками/ 1 - написал jQuery.noConflict(); 2 - все $(.... заменил на jQuery(... |
Часовой пояс GMT +3, время: 04:00. |