2014-10-09 5 views
1

У меня есть несколько модальных окон и внутри есть слайдеры slick.js. Проблема заключается в том, что слайдер не отображается, как будто он не имеет высоты, и вам нужно подождать некоторое время или нажать на маркеры для отображения изображения.Slick.js и несколько Twitter Bootstrap Модальные Windows

Одно решения, которое я получил, чтобы добавить изменение размера(), когда модальный показано:

$('.modal').on('shown.bs.modal', function (e) { 
    $('.carousel').resize(); 

}) 

Но это только решает проблему для слайдера одного модальных окон. Если вы нажмете на другой модальный, слайдер снова не появится. Вот JS скрипку:

http://jsfiddle.net/vanduzled/nv446jgm/2/

ответ

1

Эй человек я думаю, что ваше решение на самом деле очень хороший.

я изменил его немного, поэтому я применить пятно карусели, когда модальный показано:

$('.modal').on('shown.bs.modal', function (e) { 
    $('.carousel').slick(); 

}) 
3

мне удалось получить эту работу с несколькими модальными окнами со следующим:

$('.modal').on('shown.bs.modal', function (e) { 
    $('.product-slider').slick("setPosition", 0); 
}); 
+0

Это реальный ответ, сработавший для r me on Bootstrap 3.4. Я просто добавил поиск, чтобы называть его только на «активной» карусели/слайдере, ej: $ (this) .find («product-slider»). Slick («setPosition», 0); –

2

выше решение также работало, но оно не было гладким. Попробуйте это, он работает как шарм.

.modal { 
    display: block; 
    visibility: hidden; 
    overflow-y: hidden; 
} 
.modal.in { 
    visibility: visible; 
}