ありそうであまり遭遇してなかったんですが、モーダル表示した中にスライダーを入れる実装がありました。
簡単に考えてたら、スライダーの中身が縦にソソり立って、デザインが豪快に崩れました。泣
いろいろ調べた結果「slick(‘setPosition’)」をソースコードに突っ込むことで解決しました。
JSデス
$(function(){
$('.modal_open').each(function(){ // モーダルを開く要素のclass
$(this).on('click',function(){
var target = $(this).data('target'); // どのモーダルを開くか指定する
var modal = document.getElementById(target); // 上で指定されたモーダル
$(modal).fadeIn();
$('.modal-slide').slick('setPosition'); // slickのclassでsetPosition!
return false;
});
});
$('.modal_close').on('click',function(){ // モーダルを閉じる要素のclass
$('.modal').fadeOut(); // モーダルの要素を閉じる
return false;
});
});
htmlです
<a href="" class="modal_open" data-target="modal-1">モーダルを開く</a>
<!-- modal_slide1 -->
<div class="modal" id="modal-1">
<div class="modal-bg modal_close"></div> <!-- モーダルの背景です -->
<div class="modal-content">
<div class="modal-x modal_close">閉じる</div>
<div class="modal-slide">
<div class="modal-slide-item">スライド1-1</div>
<div class="modal-slide-item">スライド1-2</div>
<div class="modal-slide-item">スライド1-3</div>
</div>
</div>
</div>
<!-- // modal_slide1 -->
<a href="" class="modal_open" data-target="modal-2">2つ目のモーダルを開く</a>
<!-- modal_slide2 -->
<div class="modal" id="modal-2">
<div class="modal-bg modal_close"></div> <!-- モーダルの背景です -->
<div class="modal-content">
<div class="modal-x modal_close">閉じる</div>
<div class="modal-slide">
<div class="modal-slide-item">スライド2-1</div>
<div class="modal-slide-item">スライド2-2</div>
<div class="modal-slide-item">スライド2-3</div>
</div>
</div>
</div>
<!-- // modal_slide2 -->
詳しくは触れていませんが、複数モーダルを実装するときの「data-target=”xxx”」にも注目いただければ幸いです