Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Pop-up a sesje. Jak dodac?
Forum PHP.pl > Forum > Przedszkole
AniaakaLacry
Mam pewien problem. Mianowicie gdy laduje sie mi strona, wyskakuje okienko pop-up. Czyli wszystko dziala ok. Niestety gdy wchodze w jakikolwiek odnosnik w menu, po przeladowaniu sie strony pop-up nadal wyskakuje. Podobno najlepiej dodac sesje do tego. Tylko nie bardzo wiem jak... Po prostu. Nie dziala mi gdy dopinam do *js. Czy ktos moglbymi pomoc? Z gory Dziekuje!

http://jsfiddle.net/mhgAC/1/


popup.js
  1. function openOffersDialog() {
  2.  
  3.  
  4.  
  5. $('#overlay').fadeIn('fast', function() {
  6. $('#boxpopup').css('display','block');
  7. $('#boxpopup').animate({'left':'30%'},500);
  8. });
  9. }
  10. function closeOffersDialog(prospectElementID) {
  11. $(function($) {
  12. $(document).ready(function() {
  13. $('#' + prospectElementID).css('position','absolute');
  14. $('#' + prospectElementID).animate({'left':'-100%'}, 500, function() {
  15. $('#' + prospectElementID).css('position','fixed');
  16. $('#' + prospectElementID).css('left','100%');
  17. $('#overlay').fadeOut('fast');
  18. });
  19. });
  20. });
  21. }


a tutaj jest kod do zapamietywania sesji przez przegladarke.

  1. <? if (!isset($_SESSION['popup'])) { ?>
  2. <?
  3. $_SESSION['popup'] = "yes";
  4. }
  5. ?>

Tylko ni jak sie to ma...

@EDIT
Dodam tylko, ze z cookies tez nie moge sobie poradzic. Ale wydaje mi sie, ze sesja bedzie tu lepszym rozwiazaniem
rocktech.pl
Witam.

Użyj do tego obiektu localStorage.

[JAVASCRIPT] pobierz, plaintext
  1. function openOffersDialog() {
  2. if (localStorage.getItem('popup') === null) {
  3. $('#overlay').fadeIn('fast', function() {
  4. $('#boxpopup').css('display','block');
  5. $('#boxpopup').animate({'left':'30%'},500);
  6. });
  7. localStorage.setItem('popup','opened');
  8. }
  9. ...
[JAVASCRIPT] pobierz, plaintext

Sephirus
localStorage to chyba najłatwiejsze wyjście.

Najpewniejsze jednak są ciasteczka - bo kompatybilne ze wszystkim (co je ma włączone).

Sesja odpada - bo musiałbyś ją długo trzymać na serwerze - a po co? Lepiej wrzucić coś userowi - niech sam trzyma wink.gif
AniaakaLacry
Dziękuje za szybka odpowiedz.

Zabawnie zabrzmiała twoja wypowiedz Sephirus smile.gif

Ja jestem na poczatku mojej przygody z js i jq i nie bardzo wiem czy to tak mialo byc. Aczkolwiek, nadal wyskakuje mi pop-up w kazdej podstronie.
Czy moglibyscie sprawdzic czy dobrze zrozumialam?

  1. function openOffersDialog() {
  2.  
  3.  
  4.  
  5. if (localStorage.getItem('popup') === null) {
  6.  
  7. $('#overlay').fadeIn('fast', function() {
  8.  
  9. $('#boxpopup').css('display','block');
  10.  
  11. $('#boxpopup').animate({'left':'30%'},500);
  12.  
  13. });
  14.  
  15. localStorage.setItem('popup','opened');
  16.  
  17. }
  18.  
  19.  
  20. $('#overlay').fadeIn('fast', function() {
  21. $('#boxpopup').css('display','block');
  22. $('#boxpopup').animate({'left':'30%'},500);
  23. });
  24. }
  25. function closeOffersDialog(prospectElementID) {
  26. $(function($) {
  27. $(document).ready(function() {
  28. $('#' + prospectElementID).css('position','absolute');
  29. $('#' + prospectElementID).animate({'left':'-100%'}, 500, function() {
  30. $('#' + prospectElementID).css('position','fixed');
  31. $('#' + prospectElementID).css('left','100%');
  32. $('#overlay').fadeOut('fast');
  33. });
  34. });
  35. });
  36. }
rocktech.pl
Blisko.

[JAVASCRIPT] pobierz, plaintext
  1. function openOffersDialog() {
  2.  
  3. if (localStorage.getItem('popup') === null) {
  4. $('#overlay').fadeIn('fast', function() {
  5. $('#boxpopup').css('display','block');
  6. $('#boxpopup').animate({
  7. 'left':'30%'
  8. },500);
  9. });
  10. localStorage.setItem('popup','opened');
  11. }
  12.  
  13. // Ten fragment niepotrzebnie powtarzasz :)
  14. // $('#overlay').fadeIn('fast', function() {
  15. // $('#boxpopup').css('display','block');
  16. // $('#boxpopup').animate({'left':'30%'},500);
  17. // });
  18.  
  19. }
[JAVASCRIPT] pobierz, plaintext
AniaakaLacry
Świetna robota!
Działa. Tylko mam takie pytanie jeszcze. Bo ten pop-up wyswietla sie raz. Czyli przykladowow uzytkownik X gdy wejdzie an strone, to mu sie ten pop-up wyswietli, ale tylko ten jeden jedyny raz. A pozniej? Ciasteczka dzialaja tak, ze po wyczyszczeniu historii znowu zobaczy ten pop-up. Sesja - po wylaczeniu przegladarki. a Tutaj? Czy moge miec wplyw na to zeby... jakby to wyjasnic... Po prostu pojawial sie co kazde wlaczenie przegladarki? albo tylko strony glownej? Bo skoro storage przechowywuje informacje po stronie uzytkownika, to nie bedzie mozna ingerowac w to za pomoca
  1. localStorage.getItem
. Dobrze rozumiem?
Mam nadzieje, ze opisalam to zrozumiale smile.gif
rocktech.pl
To spróbuj sessionStorage smile.gif. W zamyśle ma limitować zasięg zmiennych do jednego okna/zakładki.
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-2025 Invision Power Services, Inc.