0 votes

La fonction Jquery toggle se casse sur les pages qui incluent mootools ou slimbox script.

Mon amie m'a demandé d'examiner son site où il y a une erreur sur les pages qui utilisent slimbox - une fonction de basculement Jquery sans rapport se casse - voici le code :

$(function() {
    $(".cat_nav dd").hide();
    $(".cat_nav dt").click(function() {
        $(this).next().toggle();
        return false;
    });
});

Ce code fonctionne bien quand slimbox et mootools scripts ne sont pas présents, mais avoir l'un ou l'autre de ces scripts chargé le casse- le dt ne sont pas cachés et en cliquant sur leurs éléments respectifs dd ne permet pas de les masquer. Voici le message d'erreur de la console JS de Safari :

TypeError: Result of expression '$(".cat_nav dd")' [null] is not an object.

Cette erreur n'apparaît que sur les pages qui chargent slimbox ou mootools, comme ceci :

<script type="text/javascript" src="/js/mootools.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/slimbox.js" charset="utf-8"></script>

Existe-t-il un moyen de composer ceci qui soit compatible avec slimbox ? Elle utilise slimbox pour afficher des galeries sur certaines pages qui utilisent cette fonction.

3voto

Andy Gaskell Points 15264

Cet article devrait aider. En gros, vous devez appeler noConflict et utiliser jQuery() pour appeler vos fonctions jQuery.

1voto

Love_qq_xq Points 1

Cette erreur apparaît à cause de l'utilisation de $(".cat_nav dd") vous devez utiliser $$(".cat_nav dd") parce que le $() dans mootools ne prend que l'id de l'élément et non le sélecteur CSS.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X