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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

CSS

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

Q&A

1回答

3455閲覧

slickのスライド表示がうまくいかない

Chikeism

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

CSS

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

0グッド

0クリップ

投稿2021/03/29 07:25

前提・実現したいこと

アコーディオン形式の中にそれぞれスライドを挿入した体裁を作りたくて組んでいます。
スライドはslickを使用しました。

発生している問題・エラーメッセージ

ひとつ目のBOXのスライドは読み込んでくれますが、2つ目がアコーディオンをオープンしても
画像が表示されません。ボタンもしくは矢印を押すと動きますが、最初から表示する方法を探しています。

該当のソースコード

html

1<ul class="accordion-area"> 2 <li> 3 <section> 4 <h3 class="title">タイトル01</h3> 5 <div class="box"> 6 <div align="left"><p>アコーディオン本文01</p></div> 7 <ul class="slider"> 8 <li><img src="img/photo01.jpg" alt="photo01"> 9 <div align="center"><p><b>キャプション01タイトル</b></p> 10 <p>キャプション01本文</p></div> 11 </li> 12 <li><img src="photo02.jpg" alt="photo02"> 13 <div align="center"><p><b>キャプション02タイトル</b></p> 14 <p>キャプション02本文</p></div> 15 </li> 16 </ul> 17 </div> 18 </section> 19 </li> 20 <li> 21 <section> 22 <h3 class="title">タイトル02</h3> 23 <div class="box"> 24 <div class="box"> 25 <div align="left"><p>アコーディオン本文02</p></div> 26 <ul class="slider"> 27 <li><img src="img/photo03.jpg" alt="photo01"> 28 <div align="center"><p><b>キャプション03タイトル</b></p> 29 <p>キャプション03本文</p></div> 30 </li> 31 <li><img src="photo04.jpg" alt="photo02"> 32 <div align="center"><p><b>キャプション04タイトル</b></p> 33 <p>キャプション04本文</p></div> 34 </li> 35 </ul> 36 </div> 37 </section> 38 </li> 39</ul>

css

1.slider{ 2 width:94%; 3 margin-left : auto; 4 margin-right : auto; 5} 6 7.slider img { 8 width:50vw; 9 height:auto; 10} 11 12.slider .slick-slide .slick-center{ 13 transform: scale(0); 14 transition: all .5s; 15 opacity: 0.5; 16} 17 18/*矢印の設定*/ 19 20.slick-prev, 21.slick-next { 22 position: absolute; 23 top: 42%; 24 cursor: pointer; 25 outline: none; 26 border-top: 2px solid #666; 27 border-right: 2px solid #666; 28 height: 15px; 29 width: 15px; 30} 31 32.slick-prev { 33 left: -1.5%; 34 transform: rotate(-135deg); 35} 36 37.slick-next { 38 right: -1.5%; 39 transform: rotate(45deg); 40} 41 42/*ドットナビゲーションの設定*/ 43 44.slick-dots { 45 text-align:center; 46 margin:20px 0 0 0; 47} 48 49.slick-dots li { 50 display:inline-block; 51 margin:0 5px; 52} 53 54.slick-dots button { 55 color: transparent; 56 outline: none; 57 width:8px; 58 height:8px; 59 display:block; 60 border-radius:50%; 61 background:#ccc; 62} 63 64.slick-dots .slick-active button{ 65 background:#333; 66} 67

js

1//アコーディオンをクリック 2$('.title').on('click', function() { 3 $('.box').slideUp(500); 4 5 var findElm = $(this).next(".box"); 6 7 if($(this).hasClass('close')){ 8 $(this).removeClass('close'); 9 }else{ 10 $('.close').removeClass('close'); 11 $(this).addClass('close'); 12 $(findElm).slideDown(500); 13 } 14}); 15 16//最初のアコーディオンを開く 17$(window).on('load', function(){ 18 $('.accordion-area li:first-of-type section').addClass("open"); 19 $(".open").each(function(index, element){ 20 var Title =$(element).children('.title'); 21 $(Title).addClass('close'); 22 var Box =$(element).children('.box'); 23 $(Box).slideDown(500); 24 }); 25}); 26 27//スライダー 28 $('.slider').slick({ 29 autoplay: false, 30 infinite: true, 31 speed: 300, 32 slidesToShow: 1, 33 slidesToScroll: 1, 34 prevArrow: '<div class="slick-prev"></div>', 35 nextArrow: '<div class="slick-next"></div>', 36 centerMode: true, 37 variableWidth: true, 38 dots: true, 39 }); 40

試したこと

アコーディオン側のスクリプトが干渉しているのでは?と考え、最初のアコーディオンを開くコマンドを削除しましたが変わらず。
スライダーにそれぞれ別のクラス名を入れてみましたが、動作せず。

補足情報(FW/ツールのバージョンなど)

https://code.jquery.com/jquery-3.6.0.min.js
https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js

アコーディオン部分のCSSは割愛しました。

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

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

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

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

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

guest

回答1

0

slick タブ切り替え」とかで検索してみてください。

【タブ切り替え時にslickスライダーが崩れる問題を3行で解決 | "A" In Hello,World!】
https://www.a-in-hello.world/tab_slick.html

投稿2021/03/29 09:36

kei344

総合スコア69407

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

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

Chikeism

2021/03/29 12:52

回答ありがとうございます。 タブ切り替えに不具合があったのですね。もう少し検索して対処方法を考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問