2010-10-31 35 views
12

我希望每次div擴展時,擴展完成後添加「selecionado」類。 收縮完成後(slideUp部分)我想刪除這個類。jquery - 如何添加/刪除slideToggle上的類?

請問我能幫忙嗎?

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

由於提前, MEM

回答

31

您可以切換使用.toggleClass()如果元素.is():visible動畫後,像這樣基於類:

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

你真的岩石上JS別你呢? :P非常感謝。 :D – MEM 2010-10-31 23:28:57

+0

另外還有一件事,我正在使用css狀態來執行此操作,如:hover。事情是,我需要禁用懸停,一旦用戶點擊,否則,效果會很奇怪,因爲一旦它點擊狀態應該改變,但因爲它被徘徊,它不會。 :s有沒有辦法來禁用a:懸停應用一旦用戶點擊或什麼? – MEM 2010-10-31 23:33:14

+0

@MEM - 當添加'selecionado'類時,可以將':hover'設置爲'a.Off:hover'並移除該'Off'類。 – 2010-10-31 23:41:21