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

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

新規登録して質問してみよう
ただいま回答率
85.47%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1795閲覧

slick 両サイドをボカしたい

kii.32

総合スコア67

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/12/23 12:03

前提・実現したいこと

スライダープラグイン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の付与が最初の画像から動かずに固定されてしまい、
うまくいかず、困っております。

有識者の方がいらっしゃいましたら、ご教授いただけますと幸いです。

宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

イベントを拾ってはいかがでしょうか。

css

1 $(".slider01").slick({ 2 autoplay: true, 3 autoplaySpeed: 2000, 4 speed: 800, 5 arrows: false, 6 centerMode: true, 7 slidesToShow: 2, 8 centerPadding: '15%', 9 }).on('beforeChange', () => { 10 $('.slick-slide').removeClass('slick-center_') 11 }).on('afterChange', () => { 12 $('.slick-center').prev().addBack().addClass('slick-center_'); 13 });

参考:
afterChange | slick - にほんご。

投稿2021/12/24 04:57

Lhankor_Mhy

総合スコア36140

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

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

kii.32

2021/12/24 07:32

ありがとうございます! イベントを拾うという方法があるのですね!勉強になりました! ご教授いただきました方法で、無事解決致しました。 感謝いたします。
guest

0

新たにクラスを付与しなくともCSSのみで解決できる気がしますが、いかがですか。

JavaScript

1$(".slider01").slick({ 2 autoplay: true, 3 autoplaySpeed: 2000, 4 speed: 800, 5 arrows: false, 6 slidesToShow: 4, 7 infinite: true, 8 slidesToScroll: 1 9});

CSS

1.slick-slide { 2 opacity: 0.3; 3 transition: 0.2s linear; 4} 5.slick-current + .slick-active, 6.slick-current + .slick-active + .slick-active { 7 opacity: 1; 8}

投稿2021/12/24 03:44

harami_

総合スコア128

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

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

kii.32

2021/12/24 04:39

ありがとうございます! ご提示いただきました方法で、両サイドのみぼかすことができました! ただ、両サイドの2枚は半分だけ見えている状態にしたく、centerPadding: '15%',を入れていたのですが、 今度はこちらが反応しなくなってしまいました。 両サイドの2枚を半分だけ見えている状態にする方法はあるのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問