表題の通りですが、HTML全て同じクラス名で、同一ページにあります。
一つ目のスライダーはできているのですが、二つ目以降からの操作が不明です。
よろしくお願いします。
また、サムネイルをクリックする時と、スワイプする時はそれぞれ背景操作のjsを書く必要があるのでしょうか。
そのことについても教えていただければと思います。
以下のHTMLが複数個つくと考えます。
<section class="c-section"> <div class="c-section_slider_block"> <div class="c-section_sliderWrap"> <ul class="c-section_slider"> <li class="c-section_slider_list"><img src="./assets/images/slider_1.jpg" alt="スライダー1"></li> <li class="c-section_slider_list"><img src="./assets/images/slider_2.jpg" alt="スライダー2"></li> <li class="c-section_slider_list"><img src="./assets/images/slider_3.jpg" alt="スライダー3"></li> <li class="c-section_slider_list"><img src="./assets/images/slider_4.jpg" alt="スライダー4"></li> <li class="c-section_slider_list"><img src="./assets/images/slider_5.jpg" alt="スライダー5"></li> </ul> <ul class="c-section_slider_thumb"> <li class="c-section_slider_thumbList"><img src="./assets/images/slider_1.jpg" alt="スライダー1"></li> <li class="c-section_slider_thumbList"><img src="./assets/images/slider_2.jpg" alt="スライダー2"></li> <li class="c-section_slider_thumbList"><img src="./assets/images/slider_3.jpg" alt="スライダー3"></li> <li class="c-section_slider_thumbList"><img src="./assets/images/slider_4.jpg" alt="スライダー4"></li> <li class="c-section_slider_thumbList"><img src="./assets/images/slider_5.jpg" alt="スライダー5"></li> </ul> </div> </div> </section> .c-section_slider_block { position: relative; background: no-repeat; background-size: cover; z-index: 0; overflow: hidden; } $(function() { var $sliderBlock = $('.c-section_slider_block'); $sliderBlock.each(function(index){ var $this = $(this); console.log($this) $this.find('.c-section_slider').slick({ arrows: true, centerMode: true }) .on('beforeChange', function(event, slick, currentSlide, nextSlide) { $('.c-section_slider_thumbList, .c-section_slider_list',$this).removeClass('active'); $('.c-section_slider_thumbList', $this).eq(nextSlide).addClass('active'); }); $('.c-section_slider_thumbList', $this).on('click', function() { var index = $('.c-section_slider_thumbList', $this).index(this); $('.c-section_slider', $this).slick('slickGoTo', index); }); }).on('afterChange', function(slick, currentSlide){ //スライダーの背景画像取得 var img = $('.slick-current').children('img').attr('src'); console.log(img); var background = 'url('+ img +')'; console.log(background); $('.c-section_slider_block').css('background-image',background); }); });
回答1件
あなたの回答
tips
プレビュー