2016-03-22 29 views
2

Ben slidetoggle(); Geçiş yapan banner'ın son durumunu hatırlamak için bir banner ve localStorage öğesini değiştirmek.LocalStorage slide ile çalışma değilToggle (toggle ile çalışma)

localStorage, toggle(); slideToggle() ile olsa da; artık değil. Ayrıca, geçiş yapmak için animasyon eklediğimde (yani geçiş (500);) localStorage da artık çalışmıyor.

$('#button').click(function() { 
     $(this).siblings().slideToggle(); 
     localStorage.setItem('display', $(this).siblings().is(':hidden')); 
    }); 
    var block = localStorage.getItem('display'); 
    if (block == 'true') { 
     $('#banner').hide() 
    } 

Sorun ne olabilir?

JSFiddle: http://jsfiddle.net/9pj9ws5u/12/

cevap

3

Bu nasıl yapılması gerektiğini şudur: tamamlanmış animasyon önce gizlendi eğer kontrol çünkü

$(this).siblings().slideToggle(function() { 
    // Code is triggered once the animations finished and the element is hidden 
    // $(this) - reference to the SIBLING element 
    localStorage.setItem('display', $(this).is(':hidden')); 
}); 

Kodunuz çalıştı olmadı. Animasyonun geri çağırma işlevine mantığı koyması, animasyon bittiğinde çağrıldığından emin olun.

+0

Daha önce neden çalışmadığına dair bir açıklama eklemek iyi olabilir. – JCOC611

+0

@ JCOC611 Haklısınız. Cevabım eklendi –

İlgili konular