スライダープラグイン「slick.js」を使用して、スライドを作成しました。
このスライダーの上でマウスホイールを動かすとスライダーがスクロールされる実装を試みていますが、なかなかうまくきません。
分からない事
なにが原因でマウスホイールでスクロールしないのか分かっていません。
下記が現在のコードです。
HTML
1<div class="slide"> 2 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/fff/250x250.png" alt="画像1"></a></div> 3 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/250x250.png" alt="画像2"></a></div> 4 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/fff/250x250.png" alt="画像3"></a></div> 5 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/250x250.png" alt="画像4"></a></div> 6 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/fff/250x250.png" alt="画像5"></a></div> 7 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/250x250.png" alt="画像6"></a></div> 8 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/fff/250x250.png" alt="画像7"></a></div> 9 <div class="js-carousel"><a href="#"><img src="https://placehold.jp/250x250.png" alt="画像8"></a></div> 10</div> 11<script> 12$('.slide').slick({ 13 slidesToShow: 4, 14 slidesToScroll: 1, 15 autoplay: true, 16 autoplaySpeed: 0, 17 speed: 4500, 18 arrows: false, 19 swipe: true, 20 cssEase: 'linear', 21responsive: [{ 22 breakpoint: 768, 23 settings: { 24 slidesToShow: 3 25 } 26}] 27}); 28 29 30var $carousel = $('.js-carousel'); 31 32// スクロールイベントの監視 33$carousel.on('wheel', function(e) { 34 e.preventDefault(); 35 36 if (!$carousel.hasClass('js-slick-moving')) { 37 if (e.originalEvent.deltaY < 0) { 38 $(this).slick('slickNext'); 39 } else { 40 $(this).slick('slickPrev'); 41 } 42 } 43}) 44 45// スライド送り中を判定するためにクラスを付与する 46$carousel.on('beforeChange', function(){ 47 $carousel.addClass('js-slick-moving'); 48}); 49 50$carousel.on('afterChange', function(){ 51 $carousel.removeClass('js-slick-moving'); 52}); 53</script>
css
1.slide img { 2 width: 100%; 3 transition: all 0.3s ease 0s; 4 height: 60vh; 5 object-fit: cover; 6} 7.slide img:hover{ 8 opacity: 0.8; 9} 10 11.slick-slide{ 12 height: 60vh; 13 object-fit: cover; 14}
slick.jsを使用された事のある方、是非教えていただければと思います。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/07 01:17