2015-08-22 7 views
12

Ich bin neu in jQuery, und ich habe einige Bedürfnisse auf meiner Website. Ich möchte das jQuery-Div-Popup zum ersten Mal nur anzeigen, wenn der Benutzer kommt. Keine Notwendigkeit, immer wieder zu zeigen.Zeige jQuery Popup nur beim ersten Besuch einer Seite

Noch bin ich mit, aber ich weiß nicht, wie beim zweiten Mal verstecken:

var isshow=0; 
$(document).ready(function() { 
    if (isshow == 0) { 
    $('#jPopup').show(); 
    } 
    isshow = 1; 
}); 

Aber die ishow Variable jedes Mal initialisiert.

+0

Sie können hierfür einen Cookie oder lokalen Speicher verwenden. –

Antwort

16

Sie können den lokalen Speicher verwenden. Es ist leicht zu verstehen und zu verwenden.

$(document).ready(function() { 
    var isshow = localStorage.getItem('isshow'); 
    if (isshow== null) { 
     localStorage.setItem('isshow', 1); 

     // Show popup here 
     $('#jPopup').show(); 
    } 
}); 

Es zeigt Ihnen das Popup beim ersten Besuch Ihrer Website.

+1

Danke @umesh, es funktioniert gut für mich. Danke vielmals. – rudrainnovative

+0

WC @rudrainnovative. –

+0

Sollte der Variablenname von 'getItem' und' setItem' nicht identisch sein? – Bijan

4

Sie können SessionStorage oder LocalStorage für diese nach Ihren Bedürfnissen verwenden.

Wenn Sie nur für diese Sitzung benötigen, verwenden Sie SessionStorage. Wenn es dauerhaft im Browser des Benutzers gespeichert werden soll, verwenden Sie LocalStorage.

$(document).ready(function(){ 
     if(sessionstorage && !sessionStorage.getItem('isshow')){ 
      $('#jPopup').show(); 
      sessionStorage.setItem('isshow', true); 
     } 
    }); 
3

Sie können localStorage für diesen Zweck verwenden, wie unten:

$(document).ready(function(){ 
    var shown= localStorage.getItem('isshow'); 
    if(shown !="t"){ 
     $('#jPopup').show(); 
     localStorage.setItem('isshow', "t"); 
    } 
}); 
1

Sie müssen es auf Last verbergen oder es in CSS tun (empfohlen) und dann local überprüfen, um zu sehen, ob es der erste Besuch ist.

$(document).ready(function() { 
     $('#jPopup').hide(); //hide on load or in css, later check if its the first visit 
     var isshow= localStorage.getItem('status'); 
     //check if it is the first visit 
     if (isshow == null || isshow == '') { 
      //set variable to 1 
      localStorage.setItem('isshow', 1); 
      $('#jPopup').show(); 
     } 
     }); 
+0

warum verstecken müssen, ist es schon angezeigt: keine in css? – rudrainnovative

+1

@Tal Hast du irgendwelche Style Guide Links, die das empfehlen? Persönlich finde ich es zumindest leicht nervig zu sehen, dass ein großes Popup für einen Bruchteil einer Sekunde erscheint, während das DOM lädt, bevor das Skript ausgeführt wird. – Sebi

3

Sie ein Cookie festlegen einen Wert zu speichern und überprüfen, ob es dann nicht Popup zeigen gesetzt:

$(document).ready(function() { 
    var isshow = $.cookie("isshow"); 
    if (isshow == null) { 
     $.cookie("isshow", 1); // Store 

     // Show popup here 
     $('#jPopup').show(); 
    } 
}); 

Oder Sie können localStorage eingestellt. Hier ist ein funktionierendes Beispiel. jsFiddle

$(document).ready(function() { 
    if(localStorage.getItem('popState') != 'shown') { 
     $("#popup").delay(2000).fadeIn(); 
     localStorage.setItem('popState','shown') 
    } 
}); 
Verwandte Themen