JavaScript

slick.js使用時に親要素を表示非表示に切り替えたときスライダーが表示されない問題の解決法

記事内に商品プロモーションを含む場合があります

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

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

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

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

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

Fires after position/size changes

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

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



ご覧いただきありがとうございました!

各種SNS等で活動を行っております。よろしければ併せてフォローしていただけるとうれしいです!
X(旧Twitter)
Instagram
note
SNSではブログでは書けない内容や、管理人のプライベートな情報の発信を行っています。DM等でのご相談も随時承っておりますので、どうぞよろしくお願いいたしますm(__)m

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

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA