разрыв коллапса не работает при случайном нажатии на него - PullRequest
0 голосов
/ 25 сентября 2019

вот мой код: -

<div class="panel-heading" role="tab" id="headingOne${count}" data-toggle="collapse" data-parent="#accordion" href="#collapseOne${count}" aria-expanded="true" aria-controls="collapseOne${count}">
                    <h4 class="row panel-title">
                        <span class="col-md-5 col-lg-5 accordian-filegroupname">${fileGrp}</span> 
                        <span class="col-md-3 col-lg-3 accordian-filegroupeye">( Eye: ${getEyeTypeFromFileName(fileGrp)} )</span>
                        <span class="col-md-3 col-lg-3 accordian-filegroupeye">( Uploaded On: ${parentUploadedOn} )</span>
                        <span class="col-md-1 col-lg-1 accordian-filegroupicon"><i class="accordion_icon fa fa-plus"></i></span>
                    </h4>
                </div>

и ниже скрипт jQuery: -

$('.panel-heading').click(function () {
       $(this).find('i').toggleClass('fa-plus fa-minus')
           .closest('panel').siblings('panel')
           .find('i')
           .removeClass('fa-minus').addClass('fa-plus');
   });

когда пользователь нажимает на знак плюс на пользовательском интерфейсе для свертывания, он работает нормально, нокогда пользователь нажимает на него случайно быстро, то иногда плюс становится минусом, и наоборот.я хочу сохранить знак минус, когда он свернут, и знак плюс, если он не свернут, при случайном быстром нажатии на него

1 Ответ

0 голосов
/ 25 сентября 2019

Вам нужно сделать это просто:

$('.panel-heading').click(function () {
    $('i').removeClass('fa-minus').addClass('fa-plus');
    $(this).find('i').toggleClass('fa-minus');
});

Первая строка функции удалит класс fa-plus и добавит fa-minus ко всем <i>, а затем, вторая строка добавит fa-minus класс только для дочернего элемента клика <i>.

Пожалуйста, попробуйте это.Это должно работать.

...