Чтобы избавиться от зеленой подсветки при запуске, вы должны удалить класс подсветки из .panel-heading
.
вашей первой панели.
Затем, если вы внимательно посмотрите на текущий код, вы увидите, что независимо от того, какое действие вы предпринимаете, вы всегда добавляете класс выделения:
$(e.target).prev('.panel-heading').addClass('highlight');
Поскольку вы хотите показывать выделение при открытии панели и скрывать ее после закрытия панели, вы должны изменить свой код следующим образом:
function toggleChevron(e) {
$(e.target)
.prev('.panel-heading')
.find('i.indicator')
.toggleClass('glyphicon-minus glyphicon-plus');
$('#accordion .panel-heading').removeClass('highlight');
if (e.type === 'shown') {
$(e.target).prev('.panel-heading').addClass('highlight');
}
}
$('#accordion').on('hidden.bs.collapse', toggleChevron);
$('#accordion').on('shown.bs.collapse', toggleChevron);
Чтобы объяснить это далее - ваша функция переключения выполняется для обоих типов событий: shown
и hidden
. Затем вы можете использовать регистр if, чтобы проверить, открывает ли пользователь вкладку или закрывать ее, и добавлять класс highlight
только при необходимости.