javascript - Slick slider - Adding active class to first < a > in currently open foundation tab -


trying add active class first tag within selected tab.

my code adding active class first element in slide 1 , doing want within slider 1 when change tabs still adding active class navigation on first slider not slider 2 in view.

js

$(document).ready(function(){ var $slideshow = $(".slider").slick({     dots: false,     infinite: true,     speed: 300,     slidestoshow: 1,     adaptiveheight: true,     swipetoslide: true,     touchthreshold: 3,     arrows: false  });   $('.links').on('click', 'a', function( e ) {      var slideindex = $(this).closest('li').index();      $slideshow.slick( 'slickgoto', parseint( slideindex ) );      $('.links li a').removeclass('slick-current');        $(this).addclass('slick-current');      e.preventdefault();  });  //re draw slider when data tabs change   $('[data-tabs]').on('change.zf.tabs', function() {        $('.slider').slick("setposition", 0);       $('.slider').slick("slickgoto", 0); });   $('.slider').on('afterchange', function(event,slick,i){    $('.links li a').removeclass('slick-current');      $('.links li a').eq(i).addclass('slick-current');  });    // document ready  $('.links li a').eq(0).addclass('slick-current');     }); 

html

 <div class="sidebar-nav">    <ul class="tabs vertical" id="example-vert-tabs" data-tabs>      <li class="tabs-title is-active"><a href="#panel1v" aria-selected="true">tab 1</a></li>      <li class="tabs-title"><a href="#panel2v">tab2</a></li>    </ul>  </div>   <div class="tabs-panel is-active" id="panel1v">     <div class="large-12 columns">        <div class="large-3 columns page-content-left">         <ul class="links">           <li><a href="#">slide1</a></li>           <li><a href="#">slide2</a></li>           <li><a href="#">slide3</a></li>        </ul>        </div>       <div id="" class="large-9 columns page-content-right">                                      <section class="slider" id="slider1">             <div class="slide">            </div>            <div class="slide">            </div>            <div class="slide">            </div>          </section>       </div>    </div>  </div>   <div class="tabs-panel" id="panel2v">     <div class="large-12 columns">        <div class="large-3 columns page-content-left">         <ul class="links">           <li><a href="#">slide1</a></li>           <li><a href="#">slide2</a></li>           <li><a href="#">slide3</a></li>        </ul>        </div>       <div id="" class="large-9 columns page-content-right">                                      <section class="slider" id="slider2">             <div class="slide">            </div>            <div class="slide">            </div>            <div class="slide">            </div>          </section>       </div>    </div>  </div> 

your problem listeners set both sliders. have create each slider individually. i'd simplest solution create jquery function handles that.

so html, code necessary (it's not optimized easy read)

// create new jquery function $.fn.extend({   createtabslider: function() {     var $self = $(this)      // $self tab, element dont use $('something')     // use $self.find("something")      var $slideshow = $self.find(".slider").slick({       dots: false,       infinite: true,       speed: 300,       slidestoshow: 1,       adaptiveheight: true,       swipetoslide: true,       touchthreshold: 3,       arrows: false     })      $self.find(".links").on("click", "a", function(e) {       var slideindex = $(this).closest("li").index()       $slideshow.slick("slickgoto", slideindex)     })      $slideshow.on("afterchange", function(event, slick, i) {       $self.find(".links li a").removeclass("slick-current")       $self.find(".links li a").eq(i).addclass("slick-current")     })      $self.find(".links li a").eq(0).addclass("slick-current")    } })  // create slider each tab $("#panel1v").createtabslider() $("#panel2v").createtabslider() 

Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -