Я пытаюсь сделать аккордеон div со стрелкой вверх/вниз, который изменяется при нажатии. Когда я падаю вниз изменений со стрелками снизу вверх, но не перепутать ...Как я могу отменить добавление/удаление класса при нажатии?
вот код:
accordion: function() {
$('#accordion').find('.accordion-toggle').click(function(){
//expand or collapse this panel
$(this).next().slideToggle('fast');
if($('.accordion-content').is(":visible")){
//console.log('visible');
$(this).find('span').removeClass('icon-arrow-down').addClass('icon-arrow-up');
} else {
//console.log('invisible');
$(this).find('span').removeClass('icon-arrow-up').addClass('icon-arrow-down');
}
//hide the other panels
$('.accordion-content').not($(this).next()).slideUp('fast');
});
},
Предоставить html или сделать демонстрацию, но я думаю, что вы должны перевернуть $ (this) .next(). SlideToggle ('fast'); и $ ('. accordion-content'). not ($ (this) .next()). slideUp ('fast'); –
как в сторону: я бы посоветовал удалить линию, закрывающую другие аккордеоны, пользователи часто хотят сравнить содержимое двух аккордеонов бок о бок –
, а также рефакторинг кода для использования классов непосредственно на элементах, которые нацелены, а не на использование Обход DOM нередко помогает разрешать подобные ошибки, а также делает код более удобным и понятным и повторным использованием. –