2010-10-31 2 views
12

Я бы хотел, чтобы каждый раз расширялся div, чтобы добавить класс 'selecionado' после завершения расширения. Когда сокращение выполнено (часть слайда), я хотел бы удалить этот класс.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

Вы действительно рока на расслоении плотного дон Не так ли? : P Большое спасибо. : D – MEM

+0

Еще одна вещь, пожалуйста, я делаю это, используя css-состояния, такие как: hover. Дело в том, что мне нужно отключить зависание, как только пользователь нажмет, иначе эффект будет довольно странным, потому что, как только он нажимает, состояние должно измениться, но поскольку оно зависает, это не так. : s Есть ли способ отключить привязку a: hover, когда пользователь нажимает или что-то еще? – MEM

+0

@MEM. Вы можете использовать ': hover' как' a.Off: hover' и удалить этот класс 'Off' при добавлении' selecionado'. –

Смежные вопросы