Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Lytebox a strony oparte na ajax
Forum PHP.pl > Forum > Gotowe rozwiązania
ShadowD
Witam,
mam stronę na której wszystkie dane doczytywane są za pomocą ajax, tak znaczniki html też i zdaję sobie sprawę z tego, że to idiotyzm, ale mniejsza o tym. Ajax dodaje galerię do odpowiedniego diva i chciał bym by litebox przejrzał jeszcze raz elementy doczytane. Nie wiem jak to zrobić, używam jquery i metody $.post.

Próbowałem dodać plik z kodem js w miejsce wykonywanego kody po poprawnym pobraniu danych - nie pomogło.

Jak mogę to zrobić, by litebox przeszedł jeszcze raz po kodzie?

Z góry dziękuję

(zależało by mi na w miarę szybkiej odpowiedzi - muszę oddać stronę a to ostatni element)
vokiel
Wywołać go ponownie, bądź użyć live lub livequery
ShadowD
Tak sądzę, że mam go wywołać ale jak, przeglądałem główny plik js i tam nie ma zjawiska onload nigdzie przy funkcji startowej.

Jak może ktoś kiedyś korzystał z tego czegoś i wie jaką funkcji powinienem odpalić...
vokiel
Sorry, nie spojrzałem, że to Litebox, a on oparty jest na prototype, a nie ja jQuery. Mój błąd.

Sprawdź czy zadziała, jak po załadowaniu treści ajaxem wywołasz initLightbox()


Możesz też przesiąść się na inne rozwiązanie, np jQuery + Lightbox
ShadowD
próbowałem nawet cały kod z pliku js dodać a robię to tak:

[HTML] pobierz, plaintext
  1. function openImage(idkat)
  2. {
  3. {:content:}#x28;'#kat').hide()
  4. {:content:}#x28;'#image').show()
  5. $.post("jaall.php", { a: 'galeria', kat: <?php echo $kat; ?>, id: idkat },function(data)
  6. {
  7. {:content:}#x28;'#imgs').html(data)
  8. XXX
  9. })
  10. }
[HTML] pobierz, plaintext

Za xx cały kod z pliku js. Sprawdziłem, nie ma owej funkcji w plikach liteboxa a co za tym idzie - nie działa. ;/

Spróbuję się przenieść njakis inny system - napisze co i jak.

Niestety sprawa wgląda tak, że lightbox kłóci się z moim skryptem, i żaden js nie działa. ;/

Podsumowując, muszę wykorzystać to co jest teraz (Lytebox) i prosze o pomoc w odnalezieniu fragmentu kodu odpowiadającego za przeszukanie strony i dodani wszystkich potrzebnych mu elementów.

EDIT:
Nieco pomyliłeś się w nazwie funkcji, jednak dzięki Tobie znalazłem rozwiązanie -initLytebox().

EDIT2:
Niestety Działa tylko galeria singiel ;/
vokiel
W pierwszym poście pisałeś Litebox, a w tytule jest Lytebox, a to są 2 różne skrypty. Domyślam się, że jest to jednak ten drugi skrypt winksmiley.jpg

Trzeba przejrzeć źródła, może po załadowaniu treści pomoże wywołanie którejś z funkcji:
[JAVASCRIPT] pobierz, plaintext
  1. initLytebox();
  2. updateLyteboxItems();
  3. removeDuplicates(); // może się przydać po ponownym wczytaniu zdjęć
[JAVASCRIPT] pobierz, plaintext
Właściwie initLytebox() wywołuje też updateLyteboxItems(), więc pewnie wywołanie tej pierwszej powinno zadziałać

BTW, może popraw bbcode w poście wyżej, bo nie wiadomo o co tam chodzi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.