質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

5125閲覧

スライダーの上でマウスホイールを動かすとスクロールする方法【slick】

satoshickkk

総合スコア53

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

0クリップ

投稿2020/04/06 08:54

編集2020/04/06 08:59

スライダープラグイン「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を使用された事のある方、是非教えていただければと思います。
よろしくお願いします。

【参考サイト】slick.js マウススクロールでスライドを送れるようにする

loving👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

thisに入っているものが期待しているものと違うのではありませんか?

js

1 if (e.originalEvent.deltaY < 0) { 2 $(this).slick('slickNext'); 3 } else { 4 $(this).slick('slickPrev'); 5 }

js

1 if (e.originalEvent.deltaY < 0) { 2 $('.slide').slick('slickNext'); 3 } else { 4 $('.slide').slick('slickPrev'); 5 }

投稿2020/04/06 09:29

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

satoshickkk

2020/04/07 01:17

ご回答ありがとうございます。 おっしゃる通り.slideに変更したら無事に動きました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問