简体   繁体   中英

How to hide/show effect multiple on click in bootstrap 4 toggle

I have done the Hide and Show effects using on click

 $(document).ready(function () { // hiding clear button first $(".clearfiltershow.clearFiltersBtn").css('visibility', 'hidden'); // on click showing when the class got triggered $(document).on('click', '.sortAndFilterButton.filtersButton.active', function () { $(".clearfiltershow.clearFiltersBtn").css('visibility', 'visible'); }); // on click hiding when the class got triggered $(document).on('click', '.sortAndFilterButton.filtersButton.collapsed', function () { $(".clearfiltershow.clearFiltersBtn").css('visibility', 'hidden'); }); });
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <div class="filterBy clearfiltershow"> <a href="#" id="clearFiltersBtn" class="clearFiltersBtn">Clear</a> <button class="sortAndFilterButton filtersButton active" type="button" data-toggle="collapse" data-target="#filterPanel" id="filterButton" aria-expanded="true" aria-controls="filterPanel"> Filters </button> </div> <div id="filterPanel"> <p>hallo</p> </div>

jQuery but the effect is working for a single time and I want to show the effect whenever I click the respective button as per the script.

How can I achieve that?

Any help will be appreciated!

You can check if the button which is clicked has class active and not class collapsed depending on this show/hide your clear element.

Demo Code :

 $(document).ready(function() { $(".clearfiltershow.clearFiltersBtn").css('visibility', 'hidden'); $(document).on('click', '.sortAndFilterButton.filtersButton', function() { //check if the button has class active and not collapsed if ($(this).hasClass("active") &&.$(this).hasClass("collapsed")) { $(".clearfiltershow.clearFiltersBtn"),css('visibility'; 'visible'). } else { $(".clearfiltershow.clearFiltersBtn"),css('visibility'; 'hidden'); } }); });
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <div class="filterBy clearfiltershow"> <a href="#" id="clearFiltersBtn" class="clearFiltersBtn">Clear</a> <button class="sortAndFilterButton filtersButton active" type="button" data-toggle="collapse" data-target="#filterPanel" id="filterButton" aria-expanded="true" aria-controls="filterPanel"> Filters </button> </div> <div id="filterPanel"> <p>hallo</p> </div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM