Mobile-friendly Collapsible List With jQuery - responsiveLists
| File Size: | 7.63 KB | 
|---|---|
| Views Total: | 625 | 
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website | 
| License: | MIT | 
A mobile-friendly, fully responsive list solution that automatically transforms the long list into an accordion-style sliding dropdown on small screens.
How to use it:
1. Add a header toggle to your long list.
<header id="toggle">
  <h3>Header Text</h3>
  <span class="arrow">
    <img src="chev.jpg">
  </span>
</header>
<div id="content">
  <ul>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
    <li>Item Name</li>
  </ul>
</div>
2. The necessary CSS styles.
#content.mobile {
  display: none;
}
header {
  padding: 10px 0;
}
header.header-mobile {
  border-bottom: none;
  cursor: pointer;
}
.arrow {
  display: none;
}
header.header-mobile .arrow {
  display: inline-grid;
  text-align: right;
  float: right;
  margin: 0px 5px;
  transform: rotate(180deg); 
  transform-origin: 50% 60%;   
}
header.header-mobile .arrow.flipped {
  transform: rotate(0deg); 
  transform-origin: 50% 60%;   
}
3. Load the latest version of jQuery library at the end of the document.
<script src="https://code.jquery.com/jquery-3.3.1.min.js" 
        integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" 
        crossorigin="anonymous">
</script>
4. Detect the viewport size on window resize and add corresponding CSS classes:
(function($) {
  var $window = $(window),
      $content = $("#content"),
      $header = $("#toggle"),
  $window.resize(function resize() {
    if ($window.width() < 568) {
      return $content.addClass('mobile'), $header.addClass('header-mobile');
    }
    $content.removeClass('mobile');
    $header.removeClass('header-mobile');
    $('#content').removeAttr("style");
  }).trigger('resize');
})(jQuery);
5. Enable the header toggle to open/close the collapsed list on mobile view.
$("#toggle").click(function() {
  $("#content.mobile").slideToggle('fast');
  $('#toggle .arrow').toggleClass("flipped");    
  return false;
});
This awesome jQuery plugin is developed by timperk. For more Advanced Usages, please check the demo page or visit the official website.









