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

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

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

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

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

Fires after position/size changes

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

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



「いいね!」と思ったら、クリックお願いいたします<m(__)m>
にほんブログ村 資格ブログ IT系資格へ IT資格ランキング
にほんブログ村 IT技術ブログ Webサイト構築へ ウェブデザインランキング
にほんブログ村 介護ブログ 障がい者福祉・介護へ 障がい者ランキング
ABOUT ME
立花浩紀
福祉ITラボは障害福祉とWeb制作を専門とする立花浩紀の情報発信サイトです。Web制作事務所の経営に傍ら、障害福祉に関するお役立ち情報を提供しています。障害者雇用・障害年金・就労支援・資格取得・スキルアップ・フリーランス・Web制作・IT活用技術など、様々な分野で情報を発信しています。