jCarousel должен увеличить слайд до центра снизу

#javascript #jquery #jcarousel

#javascript #jquery #jcarousel

Вопрос:

Мне нравится слайдер / карусель на этом сайте, поэтому я пытаюсь его воспроизвести.

Моя проблема с масштабированием, я не могу заставить его масштабироваться таким же образом.

Я хочу, чтобы он масштабировался до центра снизу, как на примере веб-сайта.

Вот что у меня есть до сих пор: JSFiddle

jCarousel:

     // Initialize jCarousel
    carousel.jcarousel({
        vertical: true,
        center: true,
        wrap: 'circular',
        animation: {
            duration: 1500,
            easing:   'linear'
        }
    });

    // Bind events
    carousel.on('jcarousel:animate', function (event, carousel) {
        carousel.target().css('width', '160%').animate({
            width: '100%'
        }, carousel.options('animation').duration * 1.5, function () {
            canSlide = true;
        });
    });
  

CSS:

 .jcarousel-slide {
    background-clip: border-box;
    background-origin: padding-box;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    background-size: cover;
}
  

(Полный проект в JSFiddle)

Положение фона, похоже, не имеет значения, оно по-прежнему масштабируется до верхнего левого угла.

Есть идеи, как это сделать?

Ответ №1:

Мое решение — установить левое поле перед анимацией, а затем анимировать до левого поля 0

 carousel.on('jcarousel:animate', function (event, carousel) {
  carousel.target().css('width', '160%').css('margin-left', -(carousel.target().width()/4) 'px').animate({
    width: '100%',
    marginLeft: '0'
  }, carousel.options('animation').duration * 1.5);
});
  

Возможно, есть лучший способ решить эту проблему, но это то, что у меня есть сейчас.

О, и последняя скрипка (с этим эффектом): JSFiddle.net