witam, napisałem sobie stronę www w oparciu jQuery. Używałem funkcji .load() do wymiany głównej części tej strony no i na jednej z tych podstron mam galerię do której używam pluginu jQuery lightBox z tym że jeśli załaduje się AJAX'em to lightbox nie działa, a jeśli wejdę przez link na podstronę wszytko jest ok. Czym to może być spowodowane?
[jQuery] kompatybilność jQuery
- Rejestracja: dni
- Ostatnio: dni
Daj link do strony. Wróżkami nie jesteśmy, a jak się dzieje takie coś, to trzeba po prostu sprawdzić parę rzeczy i zobaczyć co jest nie tak.
Daj też dokładną instrukcję co trzeba zrobić, żeby wszystko było OK i co trzeba zrobić (tj. jak włączyć ten Ajax), żeby się to spieprzyło. Dodaj też dokładną informację, co jest nie tak. Nie "nie działa", tylko konkretnie -- np. przeglądarka rzuca jakiś błąd. A przynajmniej powiedz jakie są symptomy, że to "nie działa". Tj. powiedz co by się stało jakby działało, a co się nie dzieje.
- Rejestracja: dni
- Ostatnio: dni
Lightbox czasem powoduje problemy. Spróbuj innej wersji jak np. shadowbox.
- Rejestracja: dni
- Ostatnio: dni
Zapewne konflikt z funkcją o urczej nazwie $.
- Rejestracja: dni
- Ostatnio: dni
@Demonical Monk:
No bardzo możliwe, tylko co ten konflikt powoduje? Sam plugin jQuery.Lightbox przecież nie niszczy funkcji $... Jakby autor tematu dał link do strony, to można by wywęszyć co jest nie tak.
- Rejestracja: dni
- Ostatnio: dni
Witam, tak jak powiedział Buka77 zmieniłem lightboxa na shadowboxa ale nadal jest to samo. Tu jest adres strony:
http://dajtyp.x.pl/test/
Zakładka ulotki i kliknąć na zdjęcie. Przenosi na zakładkę ze zdjęciem. Jeśli z kolei wejdziemy przez:
http://dajtyp.x.pl/test/?page=ulotki
to shadowBox jak najbardziej działa. To samo było z LightBox'em
- Rejestracja: dni
- Ostatnio: dni
Ten shadow box nie dołącza przypadkiem jakiś zdarzeń w locie? Może po prostu nie ogarnia tego że zawartość strony się dynamicznie zmieniła i trzeba jeszcze raz callnąć init()...
à propos, tam w okolicach init shadowboxa zasada DRY się kładnia.
- Rejestracja: dni
- Ostatnio: dni
A tak dokładniej jakie te zdarzenia mógłby dorzucać w locie? Próbuję do tych metod wpisać inicjację shadowBox'a ale to też nic nie daje. Jeśli chodzi o DRY to to jest napisane wstępnie ;) potem sobie zrobię jedną funkcję która będzie przechwycać id odnośnika i wymieniać treść na odpowiednią ;-) Na razie chodzi mi o to żeby ten shadowBox zaczął działać.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Rzeszów
czekaj, ty ajaxem ladujesz same linki typu:
<a href="link.jpg" rel="lightbox">miniaturka albo cos</a>
<a href="link.jpg" rel="lightbox">miniaturka albo cos</a>
<a href="link.jpg" rel="lightbox">miniaturka albo cos</a>
i chcesz zeby to otwieralo sie w lightboxie?
no to eventy mu musisz zrebindowac, bo eventy sie dodaja do istniejacych juz elementow dom..
po sukcesie ajaxa po prostu dodaj to wywolanie lightboxa tj np:
$('a[rel=lightbox]').lightBox();
czy jak tam masz i powinno hulac
- Rejestracja: dni
- Ostatnio: dni
No nie powiem bo hula ;-) tylko że lightbox, shadowbox niestety nawet i po takiej kuracji. Ale najważniejsze że Lightbox działa :D Dzięki!
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
Czarna magia ;)
$('a[rel=lightbox]').lightBox();
W jaki sposób zastosować rozwiązanie .... ?
Po kilku godzinach walki doszedłem do rozwiązania:
function MyUpdate(plik)
{
new Ajax.Updater('text', plik, {asynchronous: false, evalScripts:true, onComplete: initLightbox});
return false;
}
Należy dokonać zmian w exchange.js ;) to wszystko, a tyle problemu ....
dzek69 dzięki za wskazówki i pomoc ;)