[jQuery] kompatybilność jQuery

0

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?

0

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.

0

Lightbox czasem powoduje problemy. Spróbuj innej wersji jak np. shadowbox.

0

Zapewne konflikt z funkcją o urczej nazwie $.

0

@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.

0

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

0

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.

0

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ć.

1

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

0

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!

0

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 ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1