[jQuery] kompatybilność jQuery

[jQuery] kompatybilność jQuery
  • Rejestracja: dni
  • Ostatnio: dni
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?

BS
  • Rejestracja: dni
  • Ostatnio: dni
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.

B7
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Demonical Monk
  • Rejestracja: dni
  • Ostatnio: dni
0

Zapewne konflikt z funkcją o urczej nazwie $.

BS
  • Rejestracja: dni
  • Ostatnio: dni
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.

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, tak jak powiedział Buka77 zmieniłem lightboxa na shadowboxa ale nadal jest to samo. Tu jest adres strony:

Kopiuj
 
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:

Kopiuj
http://dajtyp.x.pl/test/?page=ulotki

to shadowBox jak najbardziej działa. To samo było z LightBox'em

Demonical Monk
  • Rejestracja: dni
  • Ostatnio: dni
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.

  • Rejestracja: dni
  • Ostatnio: dni
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ć.

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
1

czekaj, ty ajaxem ladujesz same linki typu:

Kopiuj
<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
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!

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
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 ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.