Такая проблема:
Я подключил Owl-Carousel успешно на сайт. Он у меня установлен во весь экран компьютера (w:100%; h:100%), но когда я открываю боковое меню и меняю ширину owl, то размер .owl-stage и .owl-item остается неизменным, потому что там фиксированная ширина (в пикселях).
Заметил, что ширина фиксированная меняется при открытии инспектора кода или при изменении ширины экрана браузера -> т.е. идет перерасчет ширины.
autowidth:true не помогает(
Надо какой-то рефрешер в js, но который не перезагружал страницу целиком, а просто заставлял Owl перерасчитать ширину
UPD: нашел в интернете примерное решение - использовать refresh.owl.carousel
написал код, но срабатывает он со 2 клика:
$('.menu_hamburger').click(function(){
owl.trigger('refresh.owl.carousel');
});
Изначально:
После открытия меню:
После открытия инспектора страницы:
После закрытия меню:
Не глядя конкретно на живом сайте могу предложить разве что костыль. Повесить на закрытие меню вот это
$('.menu_hamburger').click(function () {
$('.owl-item').css('width',$(document).width());
$('.owl-stage').css('width',$(document).width() * $('.owl-item').length);
});
Решил проблему с помощью refresh.owl.carousel. Это костыль, но хоть как-то работает.
$(document).ready(function () {
var $owl = $('.owl-carousel').owlCarousel({
items: 1,
// autoWidth:true,
loop:true,
dots: false,
autoplay:true,
autoplayTimeout:10000
// autoHeight:true
});
$('.menu_hamburger').click(function () {
setTimeout(function() {
$owl.trigger('refresh.owl.carousel');
}, 390); //390 - это время закрытия/открытия бокового меню
})
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости