Я создал аккордеон для страницы часто задаваемых вопросов, мне удалось получить ответы на вопросы/ответы, чтобы показать/скрыть, когда вы нажимаете, когда вы нажимаете на вопрос, который все остальные скрывают, а текущий вопрос открыт.jQuery аккордеон показать/скрыть на текущем контейнере
Единственная проблема заключается в том, что если вы попытаетесь закрыть текущий открытый вопрос, заголовок останется выделенным, поскольку он по-прежнему определяется как текущий вопрос.
Как это исправить?
Смотрите мою скрипку: https://jsfiddle.net/1cqk1540/1/
JQuery:
// Hide the answers (expanded content)
$(".content .accordion span").hide();
// On question click
$(".content .accordion .question").click(function(){
// If the next element to the question is visible
if(false == $(this).next().is(':visible')) {
// Slide the answer up
$('.content .accordion span').slideUp(300);
}
// Toggle the slide of the next element to the question
$(this).next().slideToggle(300);
// Remove current class from the previous accordion container
$('.content .accordion.current').removeClass('current');
// Remove current class from the current accordion container
$(this).parent().addClass('current');
});
Является ли это то, что делает новая строка: Если текущий аккордеон не Материнский ток аккордеона (баян же) Переключите текущий класс, если текущий класс установлен, то он получает удален? – bigdaveygeorge
Все элементы, у которых есть класс 'current', удаляют класс. Кроме того, кто был нажат ('.not()'), он получает переключатель. Зависит от того, открыт ли аккордеон да или нет. Если вы хотите, я могу написать его в меньшем количестве кода, дайте мне знать. – NiZa