webstroynet
@webstroynet

Как средствами jquery скрыть div с определённым классом за пределами определённого div и исключительно по горизонтали?

Хочу сделать выкидные блоки в owl каруселе shop.wspaket.net Для этого пришлось убрать overflow: hidden; у главного блока модуля, соответственно теперь - блоки, которые должны быть скрыты - видны!

Внимание! overflow-x: hidden; не подходит, так как не решает данную проблему: jpegshare.net/images/6b/da/6bda5371feee639af12c368... Добавляется вертикальный скролл и выкидной блок с атрибутами товара остаётся в пределах главного блока.
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
@tusklozeleniy
Front-end разработчик
У Owl Carousel есть опция при вызове "addClassActive", которая, будучи true, добавляет класс .active к видимым в текущий момент элементам. Можешь попробовать завязаться на это
Хотя, я полагаю, если завязаться на это, то новый элемент будет появляться только после всей анимации. Но у карусели так же есть колбэки. beforeMove и afterMove. Ты можешь перед движение навешивать на враппер класс "moving", а потом его убирать. Итого у тебя получится примерно так:

$("#owl-example").owlCarousel({
  addClassActive: true,
  beforeMove: function() {
    $(this).find('.owl-wrapper').addClass('moving');
    //Возможно, есть более красивый вариант, как добраться до враппера. 
    //Посмотри, потыкай. Возможно, это и есть this
  },
  afterMove: function() {
    $(this).find('.owl-wrapper').removeClass('moving');
  }
})


.owl-item {
  display: none;
}
.owl-item.active {
  display: block;
}
.owl-wrapper {
  overflow: visible;
}
.owl-wrapper.moving {
  overflow: hidden;
}
.owl-wrapper.moving .owl-item {
  display: block;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы