Probleme mit jQuery idTabs und Lightbox

webdoktor

Angesehenes Mitglied
Hallo zusammen

Ich habe auf der Homepage http://www.g-design.ch/kunden/jordi-group die idTabs verwendet: http://www.sunsean.com/idTabs/

Schön und gut d.h. diese alleine Funktionieren auch einwandfrei. Sobald ich nun auch noch
Lightbox hinzufügen möchte d.h. diese 3 Javascripts noch hinzufüge:

<script type="text/javascript" src="lightbox/js/prototype.js"></script>
<script type="text/javascript" src="lightbox/js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="lightbox/js/lightbox.js"></script>

passiert folgendes: http://www.g-design.ch/kunden/jordi-group/index_lightbox.php

Wie ihr sieht, reisst es nun die idTabs auseinander. Ich denke, irgendwo stehen die JavaScripts
in konflikt. Ich habe auch bemerkt wenn ich dieses Javascript entferne:

<script type="text/javascript" src="lightbox/js/prototype.js"></script>

Dann klappen die idTabs zwar wieder aber leider die Lightbox nicht.
Hat jemand eine Idee? Wäre sehr dankbar!

LG Marco
 
Da wird irgendeine globale Variable / Funktion / Objekt mit demselben Namen deklariert sein, dann überlagert sich das.


Alle raussuchen und in einem Script konsistent ändern.

Die JavaScript-Fehlermeldung sollte einen ersten Hinweis auf mögliche Kandidaten liefern.
 
Wie Jürgen schon sagt, liegt da eindeutig ein Konflikt vor. Sowohl jQuery als auch Prototype/Scriptaculous verwenden eine globale Funktion namens $. Logischerweise kollidiert das und aus eigener Erfahrung kann ich sagen, dass das beobachtete Verhalten und die Fehlermeldungen alles andere als einfach Nachvollziehbar waren... bis ich dann gemerkt habe, was das Problem war.

Ich meine mal, für eines der Frameworks gelesen zu haben, dass es möglich sei, das Funktionsobjekt an eine andere Variable zu binden als $, aber die Hand dafür ins Feuer legen würd ich nicht.

Alternativ kannst du ja mal recherchieren, ob es etwas jQuery basierendes gibt, was die gleiche Funktionalität hat, wie Lightbox.
 
Hallo zusammen

Zuerst mal vielen Dank für eure prompten Antworten.
Ich habe ein iquery Plugin gefunden welches super funktioniert:
http://leandrovieira.com/projects/jquery/lightbox/

Ich denke, die Variable usw. zu finden welche doppelt benutzt wird
usw. ist etwas zu kompliziert. Aus diesem Grund habe ich mich für
das oben erwähnte Script entschieden.

Gruss Marco
 
Hallo Coach

Kannst Du mir helfen wo dieser Aufruf ist und wie ich Ihn verändern muss?
Würde gerne auf das Lightbox Script zurückgreifen.

Freue mich auf Deine Antwort.
Marco
 
Ok, versuchen wirs mal. Also in dem oben geposteten Beispiel steht folgendes:

QUOTE That said, there is one caveat: By default, jQuery uses "$" as a shortcut for "jQuery"


um das zu ändern zunächst die Bibliotheken einbinden.


QUOTE <script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();

// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});

// Use Prototype with $(...), etc.
$('someid').hide();
</script>


So wird der Aufruf von JQuery nicht an die $-Variable, sondern an jQuery gebunden.
Der Aufruf von JQuery Events erfolgt dann z.b. mit

QUOTE jQuery("p").show()


Ich hoffe, dass dir das weiterhilft.
 
Hi Coach

Vielen Dank für Deine Bemühungen. Ich werde es mir am Weekend einmal
anschauen.

Gruss Marco
 
kein Problem
Bei Fragen kannste mir auch auf Deiner Seite schreiben :).
Nur hier ists wahrscheinlich für die Mitleser besser...
 
Zurück
Oben