前提・実現したいこと
jQuey・slickのプラグインを使用してリンクを含むスライダーを作成しています。
3枚表示し、左右の2枚をクリックまたはタップでスライドが切り替わるようにし、左右の画像はリンクを無効、中央の画像のみリンクを有効にしたいです。
発生している問題・エラーメッセージ
3枚全てリンクが有効になったまま、もしくは
3枚全てのリンクが無効になってしまったり、意図せぬ場所のリンクが有効になってしまったりします。
該当のソースコード
HTML
1<div class="top-slider"> 2 <a href="hoge"><img src="1.jpg" alt="" /></a> 3 <a href="hoge"><img src="2.jpg" alt="" /></a> 4 <a href="hoge"><img src="3.jpg" alt="" /></a> 5 <a href="hoge"><img src="4.jpg" alt="" /></a> 6</div>
js
1$('.top-slider').slick({ 2 arrows: false, 3 slidesToShow: 3, 4 centerMode: true, 5 centerPadding:'0%', 6 focusOnSelect: true, 7 variableWidth: true, 8 slidesToScroll: 1, 9 });
試したこと
①セレクタ:not(クラス名)をつかう
→読み込み直後はうまくいきましたが、スライドを動かしてしまうと機能しませんでした。
js
1 $('.slick-slide:not(.slick-center)').click(function () { 2 return false; 3 });
②クラスの有無でif分を使ってみる
→全て有効になってしまいました
js
1 $('.slick-slide').click(function () { 2 if ($(this).hasClass('slick-center')) { 3 return true; 4 } else { 5 return false; 6 } 7 }); 8
③CSSでpointer-events: none;
を使ってみる
→スライドはfocusOnSelect: true,
で、クリックもしくはタップでスライド変更したかったのですが、これができなくなってしまいました。
補足情報
js、jquery初心者です。アドバイス頂けると大変嬉しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/20 09:12