2010-02-13 5 views
0

J'ai un plugin wordpress lightbox2 et un défilement de nouvelles sur ma page.conflit jQuery

section Ma tête ressemble à ce

<script type="text/javascript" src="wp-content/themes/soundsright/menu.js"></script> 
<script type='text/javascript' src='wp-includes/js/prototype.js?ver=1.6'></script> 
<script type='text/javascript' src='wp-includes/js/scriptaculous/wp-scriptaculous.js?ver=1.8.0'></script> 
<script type='text/javascript' src='wp-includes/js/scriptaculous/effects.js?ver=1.8.0'></script> 
<script type='text/javascript' src='wp-content/plugins/lightbox-2/lightbox.js?ver=1.8'></script> 
<script type='text/javascript' src='wp-includes/js/jquery/jquery.js?ver=1.3.2'></script> 

    <!-- begin lightbox scripts --> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    document.write('<link rel="stylesheet" href="wp-content/plugins/lightbox-2/Themes/Grey/lightbox.css" type="text/css" media="screen" />'); 
    //]]> 
    </script> 
    <!-- end lightbox scripts --> 


     <!-- SwfObj Plugin version SWFOBJ_VERSION --> 
     <script type="text/javascript" src="wp-content/plugins/swfobj/swfobject.js"></script> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript" src="wp-content/themes/soundsright/liscroll.js"></script> 

<script type="text/javascript"> 
$(function(){ 
    $("ul#ticker01").liScroll({travelocity: 0.03}); 

}); 

</script> 

Comme il est maintenant, les nouvelles œuvres de changeurs, mais pas le plugin lightbox. Lorsque je supprime

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> 

alors les œuvres de lightbox, mais pas les nouvelles changeurs.

Je pensais que ce refrence jQuery retirer aurait résolu le problème cause de charge déjà wordpress la même version de jQuery dans cette ligne

<script type='text/javascript' src='wp-includes/js/jquery/jquery.js?ver=1.3.2'></script> 

Toutes les idées que je fais mal ici?

Répondre

1

Je pense que ce sera en raison de l'affrontement function(), nous avons eu quelque chose de similaire récemment; vous devez le faire correspondre plus précisément à jQuery (en gros, la référence $ appartiendra au prototype ou à l'un des autres javascripts, donc vous le remplacez par jQuery).

jQuery(function(){ 

    jQuery("ul#ticker01").liScroll({travelocity: 0.03}); 

}); 
+0

et, évidemment, comme vous l'avez souligné, il n'est pas sage de charger jQuery deux fois. (mon tweak de la fonction ci-dessus suppose que c'est celui qui est destiné à utiliser jQuery et pas les lightbox de vos autres références javascript par exemple). – metismo

0

Depuis deux JQuery et de l'utilisation du prototype signe $, utilisez Jquery en mode non conflit

jQuery.noConflict(); 

    JQuery(function(){ 
     JQuery("ul#ticker01").liScroll({travelocity: 0.03});  
    }); 

et l'utilisation $ pour le prototype