Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Popup - delay i close, Problem z połączeniem dwóch rzeczy
TomToma
post 14.02.2013, 23:37:45
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.02.2013

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


Cześć, mam problem z popupem który pojawia się po każdej poprawnie wykonanej aktualizacji strony. Problem polega na tym, że mam dwie opcje zamykania tego popup'a, czasową ( zamykanie po 3 sekundach ) oraz po kliknięciu na "Zamknij" każda z nich osobno działa dobrze, ale jak włączę "delay" to przestaje mi działać "close". Może po prostu źle kombinuje z tym delay w jaki inny sposób to rozwiązać żeby okno zamykało się po 3 sekundach.

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('#popup_name').fadeIn().delay(2000).fadeOut().css({ }).prepend('<a class="close" href="#"><img class="btn_close" title="Zamknij okno" src="images/cms/popup_close.png" alt="Zamknij" /></a>');
  4. var popMargTop = ($('#popup_name').height() + 80) / 2;
  5. var popMargLeft = ($('#popup_name').width() + 80) / 2;
  6. $('#popup_name').css({'margin-top' : -popMargTop,'margin-left' : -popMargLeft});
  7. $('body').append('<div id="fade"></div>');
  8. $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn().delay(2000).fadeOut();
  9. $('a.close, #fade').live('click', function() {
  10. $('#fade , .popup_block').fadeOut(function() {
  11. $('#fade, a.close').remove();
  12. });
  13. });
  14. });


Ten post edytował TomToma 14.02.2013, 23:38:47
Go to the top of the page
+Quote Post
kamil_lk
post 14.02.2013, 23:45:43
Post #2





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Cześć.
A może użyj gotowej biblioteki http://trentrichardson.com/Impromptu/
Z tego co tam piszą to jest poza standardowym 'zamknij' opcja wyłączenia popupa po upłynięciu określonego czasu.

Poniżej kod, który wywołuje popupa, który wyłącza się po 3 sekundach oraz z przyciskiem 'zamknij (x)'
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  6. <script src="jquery-impromptu.js"></script> <!-- biblioteka pobrana z podanej stronki -->
  7. <link rel="stylesheet" media="all" type="text/css" href="styles.css"> <!-- stle pobrane z powyższej stronki -->
  8. <script type="text/javascript">
  9. $(window).load(function() {
  10. $("button.popup").bind(
  11.  
  12. 'click', function(){
  13. $.prompt('asdasd',{ overlayspeed: 2, buttons: {}, title: 'Jest zajebiście', timeout: 3000 });
  14. }
  15.  
  16. );
  17. });
  18. </head>
  19.  
  20. <button class="popup">POPUP</button>
  21. </body>
  22. </html>


https://raw.github.com/trentrichardson/jQue...ry-impromptu.js - biblioteka
https://raw.github.com/trentrichardson/Moop...urce/styles.css - style

Ten post edytował kamil_lk 14.02.2013, 23:55:27
Go to the top of the page
+Quote Post
luke18dg
post 15.02.2013, 00:50:33
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

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


Cytat(TomToma @ 14.02.2013, 23:37:45 ) *
Cześć, mam problem z popupem który pojawia się po każdej poprawnie wykonanej aktualizacji strony. Problem polega na tym, że mam dwie opcje zamykania tego popup'a, czasową ( zamykanie po 3 sekundach ) oraz po kliknięciu na "Zamknij" każda z nich osobno działa dobrze, ale jak włączę "delay" to przestaje mi działać "close". Może po prostu źle kombinuje z tym delay w jaki inny sposób to rozwiązać żeby okno zamykało się po 3 sekundach.

Nie czytałem kodu, nie znam się tyle na javiescript, żeby się o niej wypowiadać, ale z punktu czysto programistycznego pewnie wciskasz jakąś funkcje, która odpowiada za opóźnienie.
Ale czy nie łatwiej zrobić to na czasie? Pobrać czas lokalny i sprawdzać warunkiem czy minął czas jeśli tak ma zniknąć, jeśli nie ma dalej być.
Krzyżyk to spełnienie dodatkowego jakiegoś warunku dołączonego do warunku powyżej.
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: 13.07.2025 - 14:11