[gelöst] jquery und lightbox
Eingetragen von PaulchenPlump (55)
am 07.10.2009 - 20:36 Uhr in
am 07.10.2009 - 20:36 Uhr in
Hallo,
ich habe erfolgreich mittels dem passenden Modul eine Lightbox2 auf einer Webseite eingebaut. Nun ist es mein anliegen allen Links die auf Bilder verweisen über jquery das passende "rel=lightbox[group]" zuzuweisen. Auch dies funktioniert schon über:
function theme_preprocess_page(&$variables) {
drupal_add_js('
$(document).ready(function(){
$("a[href$=\'.jpg\']").attr({rel:"lightbox[group]"});
});',
'inline'
);
$variables['scripts'] = drupal_get_js();
}
Leider habe ich das Problem, dass ich die Bilder nur in die Lightbox bekomme, wenn ich diese über einen Link mit fest eingetragenen "rel=lightbox[group]" aufrufe. Alle Links die das rel-Attribut über jquery bekommen reagieren nicht darauf.
Ich hoffe, dass war jetzt so halbwegs verständlich und ihr könnt mir Tipps geben... Vielleicht muss ich jquery ja auch vor dem lighbox-script aufrufen lassen - nur wie?!
Danke & Ciao, PaulchenPlump
- Anmelden oder Registrieren um Kommentare zu schreiben
Lightbox aktivieren
am 07.10.2009 - 21:59 Uhr
Dein jQuery Code wiwrd aufgerufen, nachdem Lightbox initialisiert wurde. Dementsprechend musst Du Lightbox nachträglich nochmals initialisieren, damit die neu hinzugefügten Links auch behandelt werden.
Dazu fügst Du Deinem Skript einfach die folgende Zeile hinzu:
$('a[@rel*=lightbox]').lightBox();
hth,
Stefan
--
sei nett zu Deinem Themer
Wir brauchen Deine Stimme für die DrupalCon 2010 in Berlin!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Die Spur war richtig, wenn
am 08.10.2009 - 09:37 Uhr
Die Spur war richtig, wenn auch nicht korrekt. ;)
Ich habe es jetzt in der Form gelöst:
$(document).ready(function(){
$("a[href$=\'.jpg\']").attr({rel:"lightbox[group]"});
Lightbox.initList();
});
Kann ich das noch irgendwie optimieren - das bedeutet ja, dass das Lightbox.initList immer zweimal aufgerufen wird?!
Danke & Ciao, PaulchenPlump
lightbox
am 08.10.2009 - 09:52 Uhr
Die Spur war richtig, wenn auch nicht korrekt. ;)
Laut Dokumentation des Plugins ist dies exakt der Weg, um die LightBox zu initialisieren.
Die von Dir verwendeten Funktion
initList
ist in der aktuellen Version nicht enthalten.Und nein, es ist in diesem Fall nicht möglich, die Initialisierung nur ein einziges Mal durchzuführen.
Stefan
--
sei nett zu Deinem Themer
Wir brauchen Deine Stimme für die DrupalCon 2010 in Berlin!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, hmm ich
am 08.10.2009 - 10:03 Uhr
Hallo Stefan,
hmm ich verwende Lightbox2 6.x-1.9 für Drupal. Dann werden die wohl noch eine ältere Version der Bibliothek einsetzen?! Wobei das Plugin ja auch nicht unbedingt "aktuell" ist... Wenn es nach einem update mal nicht mehr funktionieren sollte, weiss ich ja durch dich was ich ändern muss. :)
Vielen Dank, PaulchenPlump