Featherlight Slider Fix (slick)

Getting sliders to work within featherbox modals

by James Connolly

HTML

<script src="https://rawgit.com/noelboss/featherlight/master/src/featherlight.js"></script>
<link rel="stylesheet" href="https://rawgit.com/noelboss/featherlight/master/src/featherlight.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.css">
<a href="#test1" class="modal-trigger" data-featherlight>
Open Modal Slider 1
</a>
<div class="modal-content hide-modal-content " id="test1">
  <h1>Slider 1</h1>
  <div class="gal">
    <div data-thumb="http://sachinchoolur.github.io/lightslider/img/cS-1.jpg">
      <img src="http://sachinchoolur.github.io/lightslider/img/cS-1.jpg">
    </div>
    <div data-thumb="http://sachinchoolur.github.io/lightslider/img/cS-2.jpg">
      <img src="http://sachinchoolur.github.io/lightslider/img/cS-2.jpg">
     </div>
  </div>
</div>

<a href="#test2" class="modal-trigger" data-featherlight>
Open Modal Slider 2
</a>
<div class="modal-content hide-modal-content " id="test2">
  <h1>Slider 2</h1>
  <div class="gal">
    <div data-thumb="http://sachinchoolur.github.io/lightslider/img/cS-1.jpg">
      <img src="http://sachinchoolur.github.io/lightslider/img/cS-1.jpg">
    </div>
    <div data-thumb="http://sachinchoolur.github.io/lightslider/img/cS-2.jpg">
      <img src="http://sachinchoolur.github.io/lightslider/img/cS-2.jpg">
     </div>
  </div>
</div>

SCSS

.hide-modal-content {
  //display: none;
}

.gal {
  width: 100%;
  overflow: hidden;
}

/*
.featherlight:after {
  content:'';
  width: 100%;
  height: 100%;
  position:absolute;
  background: pink;
  left: 0;
  top: 0;
  z-index: 1;
}
*/

.featherlight-content {
  max-width: 600px;
  overflow: hidden;
  z-index: 10;
}

JavaScript

// init slick slider on modal click
$('.modal-content').each(function(index) {
  $(document).on("click", '.modal-trigger', function() {
  //$('.modal-trigger').click(function() {
    
    $('.featherlight').find( '.gal' ).slick({
    //$('.gal').slick({
          slidesToShow: 1,
          slidesToScroll: 1,
          css: true,
          dots: true,
    });
    
    
  })
});


// unslcik slider when closing modal
//$(document).on("click", '.featherlight', function() {
  //$('.gal').slick('unslick');
//});