Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ajax jQuery zabija działanie FancyBox
fluffy
post 1.03.2010, 21:58:11
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Witam,

Chciałem na swojej stronie umieścić news'y w taki sposób, że wyświetlane byłyby po 3 przy użyciu FancyBox. I wszystko byłoby w porządku gdyby nie fakt że postanowiłem zrobić przycisk "starsze" "nowsze" i wykorzystać do tego AJAX aby przeładował tylko ten element na stronie... Wszystko ładnie i pięknie tylko po załadowaniu kolejnych wiadomości poprzez AJAX, gdy klikam na link'a, który jest poprawny i powinien uruchomić okno z danym news'em, to nic się nie dzieje sad.gif

Kod za pomocą którego przesyłam dane w AJAX to:

  1. <script type="text/javascript">
  2.  
  3. //zrodlo - plik z zawartoscia do zwrocenia
  4. //cel - div na stronie do ktorego laduje dane
  5.  
  6. function getData(zrodlo, cel) {
  7.  
  8.  
  9. $.post(zrodlo, function(returned_data)
  10. {
  11. //alert(returned_data);
  12. $("#test").html(returned_data);
  13. });
  14.  
  15. }
  16.  


Teoretycznie się nic nie powinno kłócić ze sobą ponieważ i ta funkcja i FancyBox jest oprarta o jQuery, a jednak. Nie znam jQuery na tyle by sobie poradzić z tym.
Proszę o jakieś sugestie. Może to jakiś drobny błąd.

Pozdrawiam


__________________________________________

Sprawdziłem jeszcze czy zadziała FancyBox jeżeli nie będę korzystać z ajax'a tylko umieszczę w odpowiednim div'ie za pomocą innerHTML link który powinien wywołać okno FB z newsem... ale też bez powodzenia. Tak więc zakładam że chodzi o samo umieszczenie zwróconej wartości do jakiegoś div'a. Czy istnieją jeszcze jakieś funkcje w JS które wrzucają treści do konkretnych div'ów? Lub może ktoś ma jakiś pomysł teraz jak to rozwiązać?

Ten post edytował fluffy 1.03.2010, 22:44:03
Go to the top of the page
+Quote Post
lord_t
post 1.03.2010, 23:27:08
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


Pokaz jak przypisujesz akcje do linków. Jestem prawie pewien, że rozwiązaniem Twojego problemu jest skorzystanie z live().

Edit: Dobra, wiem już na 100% o co biega. live() by pomogło, ale dla standardowego eventu - u Ciebie najprostszym rozwiązaniem będzie:
w callbacku ajaxa (funkcja onSuccess) dla wczytanych elementów uruchomić .fancybox().

Ten post edytował lord_t 1.03.2010, 23:32:26


--------------------
Go to the top of the page
+Quote Post
fluffy
post 1.03.2010, 23:49:54
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


akcję do linków przypisuję tak:

<a id="ajax" href="#wiadomosc">wiadomość 1</a>

Czy mógłbyś jakoś jaśniej napisać mi jak uruchomić to .fancybox() dla wczytanych elementów? Nie jestem dobry w jQuery ani w Javie ale wiem że to kolejne rzeczy które koniecznie musze opanować i to jak najszybciej...
Go to the top of the page
+Quote Post
lord_t
post 2.03.2010, 00:03:26
Post #4





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


Kod
function getData(zrodlo, cel) {


    $.post(zrodlo, function(returned_data)
         {
          $("#test").html(returned_data);
          $("#test").fancybox(/*jesli w 1. wywolaniu fancyboxa masz jakieś parametry to tu je też daj */);
         });

}


Ten post edytował lord_t 2.03.2010, 00:03:36


--------------------
Go to the top of the page
+Quote Post
fluffy
post 2.03.2010, 00:09:46
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Dzięki Panie smile.gif

Uratowałeś mi nockę biggrin.gif siedziałem nad tym już 3 godziny i chyba przejrzałem wszystkie tematy na forach w poszukiwaniu odpowiedzi smile.gif
Wiem to już na bank że muszę uzupełnić wiedzę o JS a już na pewno jQuery bo widzę, że jest świetne smile.gif sam do tej pory pracowałem tylko w oparciu o PHP, CSS, bazy i podstawy JS...

Może na PW zaproponowałbyś jakieś książki czy serwisy do przestudiowania...

Pozdrawiam i jeszcze raz dzięki smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 00:48