JQuery Version Conflict

J'essaie d'utiliser le curseur Nivo JQuery (http://nivo.dev7studios.com/) et une galerie défilable (http://flowplayer.org/tools/demos/scrollable/index.html).

Maintenant, j'ai rencontré un problème, essentiellement, le Nivo Slider utilise cette JQuery Library:

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

Et la Galerie défilable utilise celle-ci:

 <script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script> 

Lorsque les deux sont activés, seule la galerie des vignettes fonctionne (car l'importation de script est effectuée après le nivo), lorsque la version 1.42 est activée, seul le Nivo fonctionne et lorsque seule la version 1.2.5 est activée, seule la Scrollable Gallery Works.

Que devrais-je faire?

Utilisez cette solution si vous ne pouvez pas utiliser un seul fichier jQuery pour les deux plugins:

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> var jQuery_1_4_2 = jQuery.noConflict(); </script> <script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script> 

Pour utiliser jQuery 1.4.2, mettez le code en l'utilisant dans un SEF (Self Executing Function) comme ceci:

 (function($){ //code using jQuery 1.4.2 //here the $variable will be the jQuery object of 1.4.2 })(jQuery_1_4_2) 

Pour jQuery 1.2.5, vous pouvez utiliser $ variable directement.

MISE À JOUR: Selon votre commentaire, la façon suivante est de l'utiliser.

Si vous souhaitez utiliser jQuery 1.4.2, utilisez jQuery_1_4_2 objet
Par exemple: jQuery_1_4_2("#abc").slider(options)

Si vous souhaitez utiliser jQuery 1.2.5 utiliser $ ou jQuery objet
Par exemple: $("#abc").scrollable(options)

Le site Web de Jquery Tools affirme qu'une mise à niveau devrait être effectuée en un peu plus d'un mois, ce qui le rendrait conforme à Jquery 1.6.

Cela étant dit, il y a une tonne de façons différentes de peigner ce chat, et la plupart ne le sont pas derrière les temps. J'ai utilisé jQuery Infinite Carousel avec un grand succès. Il semble et agit presque identique et est écrit sans conflit avec la dernière version de jQuery.

Ce n'était pas clair à partir de votre publication, mais j'éviterais de charger deux versions différentes de Jquery si vous le faites. Il s'agit d'un TON de frais généraux supplémentaires qui n'investit vraiment pas votre site.

Simple, il suffit de copier et coller ce code de script java dans votre TAG "HEAD"

// code de conflit de version jquery

  var newJQuery = jQuery.noConflict(true), oldJQuery = jQuery; (function ($) { // code that needs 1.4.2 goes here }(newJQuery)); (function ($) { // code that needs 1.2.6 goes here }(oldJQuery)); // code that needs oldJQuery and newJQuery can go here 

Et voir son travail 110% …………………….. 🙂 Profitez !!!