2009-08-28 6 views
0

Meine Freundin wird gebeten, über ihre Website zu suchen, wo ein Fehler auf Seiten mit Slimbox ist - eine nicht verwandte Jquery Toggle-Funktion bricht - hier ist der Code:Jquery Toggle-Funktion bricht auf Seiten, die Mootools oder Slimbox-Skript enthalten

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

Dieser Code funktioniert gut, wenn slimbox und Mootools-Skripte nicht vorhanden sind, aber eine dieser beiden Skripte mit laden Pausen it- die dt Elemente nicht verdeckt sind und auf ihren jeweiligen dd s Klick wechseln ihnen nicht verborgen. Hier ist die Fehlermeldung aus dem Safari-JS-Konsole:

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

Dieser Fehler tritt nur auf Seiten, die Button oder Mootools laden, etwa so:

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

Gibt es eine Möglichkeit, dies zu komponieren, die kompatibel ist mit Slimbox? Sie verwendet Slimbox, um Galerien auf einigen Seiten anzuzeigen, die diese Funktion verwenden.

Antwort

3

This article sollte helfen. Grundsätzlich müssen Sie noConflict anrufen und jQuery() verwenden, um Ihre jQuery-Funktionen aufzurufen.

+0

Yup, ich benutze den Vorschlag von $ j. – David

+0

Problem gelöst! Vielen Dank! –

1

Dieser Fehler erscheint wegen der Verwendung von $(".cat_nav dd"), Sie müssen $$(".cat_nav dd") verwenden, da die $()-Funktion in mootools nur die Element-ID und nicht den CSS-Selektor verwendet.