Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS/jQuery] Wielokrotne wywołanie funkcji
evilpr0
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.03.2011
Skąd: Glasgow

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


Siemka! Szybko opiszę mój problem. Robię na swojej stronie tzw. lightbox'a i przycisk wyłączający go. Lightbox ma się otwierać przy kliknięciu na ikonę wiadomości. Następnie krzyżyk w prawym-górym rogu okienka, które otwiera się nad lightbox'em ma wyłączać cały lightbox. Natrafiłem niestety na problem. Lightbox otwiera się perfekcyjnie, jednak jego zawartość jest do niego przypisywana za pomocą funkcji jQuery (.html), kod, który jest przypisywany wygląda tak:

  1. $('#Lightbox').html('<div id="Lightbox_Box">Wysyłanie wiadomości <span style="float: right">odbiorca: '+Do+'</span><div id="Zamknij_Lightbox" class="Zamknij" onclick="zamknijlightbox();"></div><br /><br /><form name="wyslijwiadomosc"><textarea name="trescwiadomosci" style="width: 98%; height: 150px;"></textarea></form><br /><input type="button" class="Przycisk_Submit" name="wyslij" value="Wyślij"/></div>');
  2. }


Jest to już kod z dodanym zdarzeniem onclick, ponieważ gdy przypiszę tym sposobem ten oto kod za pomocą jQuery, nie jestem w stanie wykorzystać div'u 'Zamknij_Lightbox' przy pomocy jQuery do zamknięcia całego lightbox'u, dlaczego - nie mam pojęcia. Tak więc dodałem funkcję na onclick, która ma zamykać lightbox. Wygląda ona tak:

  1. function zamknijlightbox() {
  2. $('#Lightbox_Box').fadeOut('fast');
  3. $('#Lightbox').fadeOut('fast');
  4. $('body').css('overflow', 'auto');
  5. }


Oczywiście lightbox się zamyka, lecz pojawia się kolejny problem. Funkcja ta nie może zostać wywołana ponownie, gdy klikam na ikonę wiadomości nic się nie dzieję. Dodam, że otwieranie lightbox'u, jest również operowane zdarzeniem onclick. Tak więc proszę was o pomoc z tym problemem, nie mam zbyt dużego pojęcia o wielokrotnym wywoływaniu funkcji w JavaScript.
Pozdrawiam, Evil.
Go to the top of the page
+Quote Post
jacobson
post
Post #2





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


Przeczytalem Twoj problem ale nie jestem pewien co chcesz uzyskac. Czy chcesz uzyskac cos takiego ze po zamknieciu i wcisnieciu ponownym przycisku - ten lightbox pojawia sie ponownie ? Jezeli tak to sprobuj Jquery toggle albo sprawdzaj jezeli w stylu diva lightboxa jest display:none to wywolaj show() a jak nie to hide().
Jezeli nie o to chodzi to napisz jeszcze raz dokladniej (IMG:style_emoticons/default/tongue.gif)

Mozesz ta Twoja metoda wyswietlania lightboxa troche zmienic i ta funkcje dodajaca do html usunac

  1. $('#Lightbox').html('<div id="Lightbox_Box">Wysyłanie wiadomości <span style="float: right">odbiorca: '+Do+'</span><div id="Zamknij_Lightbox" class="Zamknij" onclick="zamknijlightbox();"></div><br /><br /><form name="wyslijwiadomosc"><textarea name="trescwiadomosci" style="width: 98%; height: 150px;"></textarea></form><br /><input type="button" class="Przycisk_Submit" name="wyslij" value="Wyślij"/></div>');
  2.  
  3. }


i zamiast tego poprostu wstawic tego <div id="Lightbox_BOx"> tylko ze w stylach dac mu display:none; i teraz wraz ze zdarzeniem onclick przycisku wiadomosci dac na niego show(),a z krzyzykiem hide();

pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 23:53