Mr.Schmidtdt: JQuery + MooTools?

Hallo,

ich benutze JQuery auf meiner Website. Nun benötige ich eine bestimte Funktion (Fx.slide) die in MooTools besser umgesetzt wird.

Ich habe den MooTools Core bereits auf das Minimum reduziert. Ebenso ist der Zusatzcore MooTools "More" von über 260kb auf nur 5kb abgespeckt worden.
Gesondert auf einer Testseite funktioniert die Fx.Slide Funktion auch einwandfrei.. kombiniert mit JQuery jedoch nicht.

Ich verwende:
jquery-1.7.1.min.js
jquery.bxSlider.min.js

  • den gelinkten MooTools Core & MooTools More mit der Fx.Slide Funktion.

Gibt es eine Möglichkeit beides zusammen zum Laufen zu bekommen?

Bevor ich die Cores abgespeckt habe, funktionierte weder das Eine, noch das Andere. Mitlerweile läuft zumindest JQuery ungestört weiter.

  1. Gibt es eine Möglichkeit beides zusammen zum Laufen zu bekommen?

    jQuery hat einen konfliktfreien Modus - MooTools möglicherweise auch, ansonsten kommen sich die beiden wegen dem $ in die Quere.

    1. Hi,

      jQuery hat einen konfliktfreien Modus - MooTools möglicherweise auch, ansonsten kommen sich die beiden wegen dem $ in die Quere.

      wäre nicht das erste Mal, dass es wegen einem lumpigen Dollar Zoff gibt ... ;-)

      Ciao,
       Martin

      --
      Wenn ein Räuber eine deutsche Amtsstube überfällt, welchen Satz kann er sich dann sparen?
      "Keine Bewegung!"
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. jQuery hat einen konfliktfreien Modus - MooTools möglicherweise auch, ansonsten kommen sich die beiden wegen dem $ in die Quere.

        wäre nicht das erste Mal, dass es wegen einem lumpigen Dollar Zoff gibt ... ;-)

        YMMD :D

  2. Hallo,

    ich benutze JQuery auf meiner Website. Nun benötige ich eine bestimte Funktion (Fx.slide) die in MooTools besser umgesetzt wird.

    Generell ist das eine schlechte Idee. Die Sliding-Animationen von jQuery sind tatsächlich rudimentär und manchmal instabil. Allerdings gibt es auch reine Animations- und Effekt-Frameworks, die schlanker als Mootools sein dürften und nicht wie Mootools überall in den Host-Objekten sowie Objektprototypen Erweiterungen hinterlassen. Zudem kann man das jQuery-Sliding durch oftmals stabilisieren, indem man manche CSS-Werte fest setzt, sodass jQuery weniger rechnen muss und das Resultat einheitlicher ist.

    Ich habe den MooTools Core bereits auf das Minimum reduziert.

    Dieses Minimum ist unkomprimiert immer noch 112 KB groß, minified 67 KB und beinhaltet den gesamten Mootools-Kern.

    Das DOMReady-Modul brauchst du übrigens nicht, diese Funktionalität bietet jQuery bereits.

    Gesondert auf einer Testseite funktioniert die Fx.Slide Funktion auch einwandfrei.. kombiniert mit JQuery jedoch nicht.

    Beide Bibliotheken besetzen window.$.

    Das kannst du jQuery abgewöhnen, indem du nach dem Einbinden jQuery.noConflict() aufrufst. Dann ist das jQuery-Objekt nur unter (window.)jQuery zugänglich, nicht mehr unter (window.)$.

    Laut Doku erkennt Mootools jedoch, wenn window.$ bereits besetzt ist und sieht davon ab, es zu überschreiben. $ ist in Mootools nur ein Alias für document.id(), also kannst du das direkt nutzen.

    Ich würde dir raten, jQuery.noConflict und document.id zu verwenden, um sämtliche Konflikte hinsichtlich window.$ zu vermeiden.

    Bevor ich die Cores abgespeckt habe, funktionierte weder das Eine, noch das Andere.

    Bekommst du Fehlermeldungen in der JavaScript-Konsole?

    Mathias
     Mitlerweile läuft zumindest JQuery ungestört weiter.

    1. Hallo,

      vielen Dank!
      suit hat mich bereits einige Minuten vorher auf den noConflict Mode gebracht aber du hast das nochmals gut zusammengefasst und erklärt.

      Tatsächlich laufen beide nun problemlos nebeneinander her!

      Beste Grüße,
      MrSchmidtdtdt