予めdisplay:none;を設定してある親要素の中にある子要素に実装したslickがうまく表示されませんでした。親要素をdisplay:block;に変更してもスライダーが表示されない。

どうしたもんかなと、いろいろ調べてみたところ、親要素の表示非表示を切り替えたタイミングで、

$('.slider').slick('setPosition');

と、このように「setPosition」メソッドを実行することで、ちゃんとスライダーを表示させることができました。

この「setPosition」メソッドですが、slickの公式サイトにはこんな風に書いてありました。

Fires after position/size changes

位置やサイズを変更したときに発火させるメソッドのようですね。
恐らく親ボックス要素が非表示の時は、スライダーの大きさがゼロになっているのではないでしょうか。そのため親要素の表示非表示を切り替える時にサイズの再調整が必要になるのではないかと・・・

ともかく、親要素の表示非表示の切り替えのタミングでこの「setPosition」メソッドを実行することで問題は解決しました。



「いいね!」と思ったら、クリックお願いいたします<m(__)m>
にほんブログ村 メンタルヘルスブログ 統合失調症へ 統合失調症ランキング
にほんブログ村 介護ブログ 障がい者福祉・介護へ 障がい者ランキング
にほんブログ村 企業ブログ IT・情報通信業へ IT・通信業ランキング
ABOUT ME
立花浩紀
Web制作事務所を経営している統合失調症当事者です。就労継続支援B型の職業指導員をしていました。福祉ITラボでは福祉とITを掛け合わせた情報を発信しています。放送大学 心理と教育コース 所属。社会福祉士養成課程(通信)