2016-03-24 16 views
0

Pencere yükleme işlevi üzerinde bir çerez olup olmadığını kontrol ediyorum ve bir öğeyi gizlemek için bir css sınıfı ekliyorum. Ama yeterince hızlı değil, siteyi açtığınızda bir saniye için gizli unsuru gösterir. Gizli unsuru görmeden bunu yapmanın daha iyi bir yolu var mı? BesbelliTanımlama bilgisi ve addClass öğelerini kontrol edin, ancak yavaştır

$(window).ready(function() { 
    if (typeof $.cookie('note') === 'undefined') { 
     $('.note').removeClass('hide'); 
    } 
}); 

: Sadece görüntüyü göstermek için çerez yoksa

$(window).load(function() { 
    if ($.cookie('note')) { 
     $('.note').addClass('hide'); 
    } 
}); 
+1

Önce sakla, o zaman sadece çerez ** mevcut değil ise göster. – Liam

+0

Pencere yükünün aksine belgeyi hazır kullanmayı denediniz mi? –

+0

FYI [load() kullanımdan kaldırılmıştır] (http://stackoverflow.com/questions/12643160/load-method-deprecated) ve artık kullanılmamalıdır. – Liam

cevap

2

Basitçe fonksiyonunu ters:

Bu

kullanıyorum komut dosyası (jQuery kullanmak) 'dir varsayılan durum hide sınıfını içermelidir. Ayrıca, belirtildiği gibi load() kullanımdan kaldırılmamış, çok iyi çalışmıyor ve kodunuzun çalışmasına gereksiz bir gecikme eklemiyor.

+0

Bunu deniyorum, ancak şu işe yaramıyor: (typeof $ .cookie ('note') === 'undefined' –

+0

Ne olur? [Hata ayıkladığınızda?] (Http://stackoverflow.com/questions/988363/how-can-ı-debug-my-javascript-code) – Liam

+0

Bunu elde ediyorum: 116 Türlenmemiş TypeError: $ .cookie bir işlev değil https://drive.google.com/file/d/0B4_0PpHmsIheWU5JZkRGT3RWNkE/ view? usp = paylaşım –