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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

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

Q&A

0回答

626閲覧

slick sliderでslideが反映されない。(リロードすると普通に動作する)

atsu-ori2018

総合スコア5

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

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

0グッド

0クリップ

投稿2020/06/02 13:11

railsでslick.sliderを使用し商品のスライドショーを作成しています。
サムネイル画像と連動させる形のスライドを実装したのですが、該当ページにアクセスすると、slickのクラスも反映されておらず、スライドがなりません。
ページをリロードしてみて、検証で確認をしてみるとslickのクラスが反映されていて通常通りスライドショーが動きます。

hamlの中の記載はこのようになっています。

haml

1.main-container 2 .item-photos 3 %ul#slider 4 %li.slide-item 5 = image_tag "/images/test_image.jpg",alt:"test-image",class:"slide-image" 6 %li.slide-item 7 = image_tag "/images/logo.png",alt:"test-image",class:"slide-image" 8 %li.slide-item 9 = image_tag "/images/test_image.jpg",alt:"test-image",class:"slide-image" 10 %ul#thumbnail-list 11 %li.thumbnail-item 12 = image_tag "/images/test_image.jpg",alt:"test-image",class:"thumbnail-image" 13 %li.thumbnail-item 14 = image_tag "/images/logo.png",alt:"test-image",class:"thumbnail-image" 15 %li.thumbnail-item 16 = image_tag "/images/test_image.jpg",alt:"test-image",class:"thumbnail-image"

slider.jsの中の記述

slider.js

1$(function(){ 2 var slider = "#slider"; 3 var thumbnailItem = "#thumbnail-list .thumbnail-item"; 4 5 $(thumbnailItem).each(function(){ 6 var index = $(thumbnailItem).index(this); 7 $(this).attr("data-index",index); 8 }); 9 10 11 $(slider).on('init',function(slick){ 12 var index = $(".slide-item.slick-slide.slick-current").attr("data-slick-index"); 13 $(thumbnailItem+'[data-index="'+index+'"]').addClass("thumbnail-current"); 14 }); 15 $(slider).on('beforeChange',function(event,slick, currentSlide,nextSlide){ 16 $(thumbnailItem).each(function(){ 17 $(this).removeClass("thumbnail-current"); 18 }); 19 $(thumbnailItem+'[data-index="'+nextSlide+'"]').addClass("thumbnail-current"); 20 }); 21 $(thumbnailItem).on('click',function(){ 22 var index = $(this).attr("data-index"); 23 $(slider).slick("slickGoTo",index,false); 24 }); 25 26 $(slider).slick({ 27 arrows: false, 28 fade: true, 29 infinite: false, 30 centerMode: true, 31 }); 32});

色々と調べて、display:flexがitem-photosという親要素に掛かっているせいではないかなど言われ、試したのですが変わりませんでした。

scss

1 .main-container { 2 display: flex; 3 margin-top: 16px; 4 .item-photos { 5 min-width: 300px; 6 max-width: 300px; 7 min-height: 375px; 8 display: flex; 9 flex-direction: column; 10 justify-content: center; 11 margin: 0; 12 #slider{ 13 width: 300px; 14 height: 320px; 15 margin:0 auto 30px; 16 display: flex; 17 .slide-item{ 18 max-height: 300px; 19 max-width: 100%; 20 height: 300px; 21 width: 300px; 22 .slide-image{ 23 width: 100%; 24 height: 100%; 25 margin: 0 auto; 26 } 27 } 28 } 29 #thumbnail-list{ 30 width: 300px; 31 margin: 0 auto; 32 display: flex; 33 justify-content: space-between; 34 flex-wrap:wrap; 35 .thumbnail-item{ 36 margin-bottom: 10px; 37 box-sizing: border-box; 38 position:relative; 39 height: 60px; 40 width: 60px; 41 &::after{ 42 content:''; 43 background-color: rgba(0,0,0,0.5); 44 position:absolute; 45 display: block; 46 top: 0; 47 left: 0; 48 width: 100%; 49 height: 100%; 50 opacity: 1; 51 transition: .3s opacity linear; 52 } 53 &.thumbnail-current:after{ 54 opacity: 0; 55 } 56 .thumbnail-image{ 57 width: 100%; 58 height: 100%; 59 margin: 0 auto; 60 } 61 } 62 } 63 }

ページに遷移した時にだけslickのクラスが当たらないというのは何が可能性としてあるでしょうか。。。
ご教授頂けますととても助かります。
よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問