Custom dots with text (Slick Slider)

by shamaleyte

HTML

<link rel="stylesheet" href="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css">
<script src="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div id="slider">
  <div class="slide" title="slide1">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
  <div class="slide" title="slide2">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
  <div class="slide" title="slide3">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
</div>

<div id="slider2">
  <div class="slide" title="slide1">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
  <div class="slide" title="slide2">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
  <div class="slide" title="slide3">
     <img src="http://www.drodd.com/images15/nature30.jpg" alt="">
  </div>
</div>

CSS

#slider .slide img{
    width: 100%;
}
#slider .slick-dots{
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
#slider .slick-dots li{
    cursor: pointer;
    position: relative;
    display: inline-block;
    text-indent: -9999px;
    white-space: nowrap; 
    border: 0;
    width: 144px;
    height: 40px;
    margin-left: 5px;
    margin-right: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 0 rgba(82, 156, 219, 0);
}

#slider .slick-dots li button{
    display: block;
    width: 100%;
    height: 40px;
    border: 0;
    background-color: transparent;
    font-size: 16px;
    color: #d3ddf0;
    font-weight: 600;
    text-align: center;
    outline: none;
    position: relative;
}
#slider .slick-dots li.slick-active button{
    color: #34a8ff;
}
#slider .slick-dots li button .fa{
   position: absolute;
   bottom: -20px;
   left: 50%;
   margin-left: -5px;
   opacity: 0;
   transition: all 0.3s ease;
}
#slider .slick-dots li.slick-active button .fa{
    bottom: -8px;
    opacity: 1;
}






#slider2 .slide img{
    width: 100%;
}
#slider2 .slick-dots{
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
#slider2 .slick-dots li{
    cursor: pointer;
    position: relative;
    display: inline-block;
    text-indent: -9999px;
    white-space: nowrap; 
    border: 0;
    width: 144px;
    height: 40px;
    margin-left: 5px;
    margin-right: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 0 rgba(82, 156, 219, 0);
}

#slider2 .slick-dots li button{
    display: block;
    width: 100%;
    height: 40px;
    border: 0;
    background-color: transparent;
    font-size: 16px;
    color: #d3ddf0;
    font-weight: 600;
    text-align: center;
    outline: none;
    position: relative;
}
#slider2 .slick-dots li.slick-active button{
    color:...

JavaScript

$("#slider").slick({
    dots: true,
    customPaging: function(slider, i) { 
        return '<button class="tab">' + $(slider.$slides[i]).attr('title') + '<i class="fa fa-sort-asc"></i></button>';
    },
    arrows: false,
    slidesToShow: 1,
    slidesToScroll: 1
});

$("#slider2").slick({
    dots: true,
    customPaging: function(slider, i) { 
        return '<button class="tab">' + $(slider.$slides[i]).attr('title') + '<i class="fa fa-sort-asc"></i></button>';
    },
    arrows: false,
    slidesToShow: 1,
    slidesToScroll: 1
});