前提・実現したいこと
スライダープラグインslickを利用して4枚並びの両サイドをボカして表示をしたいと考えています。
下記コードで試しましたが
左から3枚目のみぼやけずに、左から2枚目もぼやけるようになってしまします。
(左から3枚目のみに[.slick-center]というクラスが自動付与されるためです。)
そのため、.slick-centerの直前の要素にクラスを付与できれば良いのですが、、、
該当のソースコード
html
1<ul class="slider01"> 2 <li>画像</li> 3 <li>画像</li> 4 <li>画像</li> 5 <li>画像</li> 6 <li>画像</li> 7</ul>
js
1// slickスライダー 2$(".slider01").slick({ 3 autoplay: true, 4 autoplaySpeed: 2000, 5 speed: 800, 6 arrows: false, 7 centerMode: true, 8 slidesToShow: 2, 9 centerPadding: '15%' 10});
css
1.slider01 .slick-slide:not(.slick-center) { 2 -webkit-filter: opacity(30%); 3 -moz-filter: opacity(30%); 4 -o-filter: opacity(30%); 5 -ms-filter: opacity(30%); 6 filter: opacity(30%); 7 transition: 0.2s linear; 8}
試したこと
$(function () { const current = document.querySelector('.slick-center'); current.previousElementSibling.classList.add('slick-before'); });
.slider01 .slick-slide.slick-before { -webkit-filter: opacity(100%); -moz-filter: opacity(100%); -o-filter: opacity(100%); -ms-filter: opacity(100%); filter: opacity(100%); transition: 0.2s linear; }
.slick-centerの直前の要素に.slick-beforeが付与されるようにしました。
スライダーの表示直後はこれで、左から2枚の画像もぼやけずにうまくいっているのですが、
スライドが始まると、.slick-beforeの付与が最初の画像から動かずに固定されてしまい、
うまくいかず、困っております。
有識者の方がいらっしゃいましたら、ご教授いただけますと幸いです。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/24 07:32