2016-05-31 16 views
7

Başka bir düğmeyi tıklattıktan sonra düğmeyi gizlemeye çalışıyorum ancak sayfa yenilendiğinde, gizli düğme tekrar görünür. Sayfayı yenile ve göster düğmesini tıklatırsam göstersem bile gizli kalmasını istedim. Herhangi bir yardım çok takdir edilecektir.Geçerli durumu jquery tıklama işlevinden sonra kaydetme

HTML:

<button type="button" class="showhide">Show/Hide</button> 
<button type="button" class="link">Link</button> 

JS:

$('.showhide').click(function(){ 
$('.link').hide(); 
}); 
+4

kullanımı [sessionStorage] (https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage) –

+1

@KartikeyaKhosla, teşekkürler ben bu çalışacağım. – claudios

cevap

5

.

Düğmeyi tıkladığınızda ayarlayın. Sayfa yüklendiğinde, düğmenin görünürlüğünü güncellemek için localStorage değerini kontrol edin.

$('.showhide').click(function(){ 
    $('.link').toggle(); 

    var isVisible = $('.link').is(":visible"); 
    localStorage.setItem('visible', isVisible); 
}); 

// stored in localStorage as string, `toggle` needs boolean 
var isVisible = localStorage.getItem('visible') === 'false' ? false : true; 
$('.link').toggle(isVisible); 

https://jsfiddle.net/undm500w/8/

+0

Bu ne aradığımda geri göstermek istedim. :) güzel bitti – claudios

+0

Rica ederim :) – Pimmol

6

Sen istemci üzerinde şeyin üstesinden gelebilecek aşağıdaki kodla localStorage ile sona erer. veya sunucu komut dosyasında sessionStorage kullanmanız gerekir.

if(localStorage.getItem('isHide')) 
    $('.link').hide(); 
$('.showhide').click(function(){ 
    $('.link').hide(); 
    localStorage.setItem('isHide',true); 
}); 
+0

Hızlı yanıt için teşekkürler. :) İşe yarıyor. – claudios

+0

Soru, tekrar tıkladığımda, 'link' düğmesini göstermiyor. Tekrar nasıl gösterilecek? – claudios

+0

En kolayı, 'hide' yerine ['toggle'] (http://api.jquery.com/toggle/) kullanmaktır. –

2

düğme oturumlarına benzer bir şey her şeyin üzerinde saklanan anlamına gelir, ki aksi takdirde sessionStorage ile gidiş önermek, bunun here daha, hatta localStorage kullanmayı düşünmelisiniz tarayıcıyı kapattıktan sonra gizli kalmasını istiyorsanız tarayıcıyı kapattığınızda oturum depolama kaldırılacaktır. Oturum saklama hakkında bilgi edinmek için aşağıdaki iki işlevi kullanabilirsiniz. getItem ve setItem. Bu sessionStorage kullanarak bir tanıtımdır ama çok localStorage için geçerlidir: @Kartikeya Dediğim gibi, localStorage kullanmak

$(document).ready(function(){ 
     if(sessionStorage.getItem('isBtnHidden')){ 
      $('.link').hide(); 
     } 

     $('.link').click(function(){ 
      $('.link').hide(); 
      sessionStorage.setItem('isBtnHidden', true); 
     }); 
    }); 
+1

Teşekkürler. Bu aynı zamanda önceki cevapla aynı şekilde çalışıyor. Ben 'localStorage' coz seçerim Sonsuza kadar saklamak istedim ve sadece gösterme butonu – claudios

İlgili konular