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

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

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

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

jQuery

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

Q&A

1回答

4109閲覧

slick slider スライド要素が一つしかない場合

sayoko

総合スコア0

JavaScript

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

jQuery

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

0グッド

1クリップ

投稿2022/03/31 10:32

編集2022/04/01 21:03

slick slider に関する質問です。
1ページの中に複数のsliderがあり、そのうちのひとつが一つの要素しかありません。
この一つだけの要素が自動的に右側に寄っていますが、左側に寄せたいです。
要素が一つだけの場合、sliderを外す、または左寄せにする方法を教えてください。
jsのif文を書きたいです。

---現在のjsは以下の通りです---

$(function () { $('.slider).slick({ infinite: true, slidesToShow: 2, slidesToScroll: 1, centerMode: true, centerPadding: "10%", infinite: true, }); });

---参考までにhtml---
上ブロックの<div class="slider">は複数あるため見た目に問題はありません。
下ブロックの<div class="slider">が中の<div class="flex">が1件だけなので画面右揃えになっていて左側に空白があります。
ページが全体的に左揃えなので違和感があり、左揃えにしたいです。

<div class="slider slick-initialized slick-slider"> <div class="slick-list"> <div class="slick-track"> <div class="flex"> <img> <p></p> </div> <div class="flex"> <img> <p></p> </div> <div class="flex"> <img> <p></p> </div> </div> </div> </div> <div class="slider slick-initialized slick-slider"> <div class="slick-list"> <div class="slick-track"> <div class="flex"> <img> <p></p> </div> </div> </div> </div>

上ブロックは2つの<div class="flex">が画面中央に並んでいる状態です。(3つ目以降は10%チラ見え)

slicksliderのcssで class="slick-track" にあたっている下記のwidth と translate3d を外すと、下ブロックだけが左揃えになることがわかりました。
単純に外してしまうと後で<div class="flex">の要素が増えた時にスライダーが動かなくなってしまうのを防ぎたく、「3枚以上の場合はスライダーが動く」ような記述をしたいです。
<div class="flex">が二つあれば余白がなくなると思うのでsliderは動いても動かなくてもいい)

<div class="slick-track" style="opacity: 1;width: 476px;transform: translate3d(238px, 0px, 0px);">

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

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

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

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

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

jimbe

2022/03/31 10:35

JavaScript でしょうか? そうであれば、 Java と JavaScript は異なるモノですので、タグを見直して頂けますでしょうか。
sayoko

2022/03/31 11:31

大変失礼いたしました。修正いたしました。
guest

回答1

0

試してないですが。

js

1$(function () { 2if($('.slider).length>1){ 3$('.slider).slick({ 4infinite: true, 5slidesToShow: 2, 6slidesToScroll: 1, 7centerMode: true, 8centerPadding: "10%", 9infinite: true, 10}); 11} 12});

投稿2022/04/01 01:19

Lhankor_Mhy

総合スコア37409

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

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

sayoko

2022/04/01 08:01

回答ありがとうございます。 試してみたところ、解消しませんでしたmm
Lhankor_Mhy

2022/04/01 08:43

それは残念。 ご提示いただいていない部分については想像して回答しましたので、もう少しコードを提示していただければ、もう少し具体的に回答ができるかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問