2015-08-22 16 views
12

Ben jQuery için yeni ve web sitemde bazı ihtiyaçlarınız var. JQuery div pop-up'ını sadece kullanıcı geldiğinde ilk defa göstermek istiyorum. Tekrar ve tekrar göstermeye gerek yok. jQuery açılır penceresini ziyaret et ilk görseli sadece

Hala bu kullanıyorum ama ikinci seferde gizlemek için nasıl bilmiyorum:

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

Ama ishow değişken her zaman başlatır.

+0

Bunun için çerez veya yerel depolama alanını kullanabilirsiniz. –

cevap

16

Localstorage'ı kullanabilirsiniz. Anlamak ve kullanmak kolaydır.

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

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

Size sitenizin ilk ziyaretinde açılır pencereyi gösterecektir.

+1

Teşekkürler @umesh, benim için iyi çalışıyor. Çok teşekkürler. – rudrainnovative

+0

WC @rudrainnovative. –

+0

'getItem' ve' setItem' değişkenlerinin aynı olması gerekmez mi? – Bijan

4

Gereksiniminize uygun olarak SessionStorage veya LocalStorage kullanabilirsiniz.

Sadece bu oturum için yapmanız gerekiyorsa, SessionStorage kullanın. Kullanıcının tarayıcısında kalıcı olarak saklanması gerekiyorsa, LocalStorage'ı kullanın.

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

Sen olarak aşağıda bu amaçla localStorage kullanabilirsiniz:

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

Sen yük gizlemek gerekir veya css bunu yapmak o ilk ziyaret olup olmadığını görmek için localStorage kontrol sonra (önerilir) ve.

$(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

neden gizlemek gerekiyor, zaten gösteriliyor: yok css içinde yok? – rudrainnovative

+1

@Tal Tavsiye edeceğiniz herhangi bir stil kılavuzu bağlantınız var mı? Şahsen betik çalıştırılmadan önce DOM yüklendikçe büyük bir açılır pencerenin bölünmüş bir saniye için göründüğünü en azından hafif can sıkıcı buluyorum. – Sebi

3

Bir değer saklamak ve daha sonra ayarlı değilse kontrol etmek için bir çerez ayarlayabilirsiniz pop-up gösterir:

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

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

Yoksa localStorage ayarlayabilirsiniz. İşte çalışan bir örnek. jsFiddle

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