2010-10-31 24 views
12

Genişletme tamamlandığında, 'selecionado' sınıfını eklemek için div genişlediğinde her zaman isterim. Kasılma tamamlandığında (slideUp bölümü) Bu sınıfı kaldırmak istiyorum.jquery - slideToggle üzerinde sınıf nasıl eklenir/kaldırılır?

Yardım alabilir miyim? peşin

$('#btCategoriaA').click(function() 
{ 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').addClass('selecionado'); 
    }); 
}); 

sayesinde MEM

cevap

31

Sen eleman böyle animasyon sonra .is():visible, eğer dayalı .toggleClass() kullanarak sınıfını geçiş yapabilirsiniz:

$('#btCategoriaA').click(function() { 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').toggleClass('selecionado', $(this).is(':visible')); 
    }); 
}); 
+1

Gerçekten üzerinde kaya js don sen misin : P Çok teşekkürler. : D – MEM

+0

Bir şey daha, lütfen bunu css durumlarını kullanarak kullanarak yapıyorum: hover. Mesele şu ki, kullanıcı tıkladığında vurgulu devre dışı bırakmalıyım, aksi halde etki oldukça garip olacaktır, çünkü bir kez tıklandığında durum değişmeli, ama değiştiği için değil. : s Kullanıcıyı bir kez tıkladığında veya bir şey uyguladıktan sonra uygulanan hover'ı devre dışı bırakmanın bir yolu var mı? – MEM

+0

@MEM - “: hover” öğesini “a.Off: hover” olarak alabilir ve 'selecionado'yı eklerken' Off' sınıfını kaldırabilirsiniz. –

İlgili konular