AnswerBun.com

Как добавить плавности слайдеру? Плагин Flipster slider

Stack Overflow на русском Asked on January 1, 2022

Есть 3д слайдер который сделан на Flipster slider, но при переключении слова прыгают, как можно добавить плавности?

  var carousel = $("#carousel-sl").flipster({
    loop: false,
    start: 'center',
    style: 'wheel',
    spacing: -0.56,
    scrollwheel: false,
    buttons: false,
    fadeIn: 800
  });
/* стили слайдера */

.slider-outer-wrap__new {
  width: 100%;
}

.flipster__item--current .item-city {
  color: #72BD77;
}

.flipster--wheel .flipster__item__content {
  transform: rotateZ(0deg) translate(0%, 0%) !important;
  width: 150px;
}

.flipster__container {
  height: 95px !important;
  text-align: center;
}

.flipster__item--past .item-city {
  color: #999BA5;
  line-height: 22px;
  text-align: center;
  font-size: 16px;
  opacity: 0.5;
  transform: rotateZ(-0deg) translate(0%, 100%) !important;
}

.flipster__item--future .item-city {
  color: #999BA5;
  line-height: 22px;
  text-align: center;
  font-size: 16px;
  transform: rotateZ(-0deg) translate(0%, 100%) !important;
  opacity: 0.5;
}

.flipster__item--past-2 .item-city {
  transform: rotateZ(-0deg) translate(0%, 170%) !important;
  font-size: 14px !important;
  font-weight: 400;
  opacity: 0.4;
}

.flipster__item--future-2 .item-city {
  transform: rotateZ(-0deg) translate(0%, 170%) !important;
  font-size: 14px !important;
  font-weight: 400;
  opacity: 0.4;
}

.flipster__item--future-3 {
  transform: rotateZ(-0deg) translate(0%, 107%) !important;
}

.flipster__item--past-3 {
  transform: rotateZ(-0deg) translate(0%, 107%) !important;
}

.flipster__item--future {
  opacity: 1 !important;
}


/* стили для текста */

.gallery-box {
  display: block;
  position: relative;
  margin-top: 48px;
}

.slider-outer-wrap {
  max-width: 400px;
  margin: 0 auto;
  position: relative;
}

.slider-outer-wrap__new {
  width: 100%;
}

.cityes-wrap {
        position: relative;
        line-height: 1;
    }
  
  a {
    text-decoration: none;  
  }
  
  .item-city {
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  color: #72BD77;
  font-weight: 500;
  font-size: 24px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.flipster.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.flipster.min.js"></script>

<div class="gallery-box">
  <div class="slider-outer-wrap slider-outer-wrap__new">
    <div id="carousel-sl">
      <div class="cityes-wrap">
        <ul>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

One Answer

Так пойдёт? В css отмечены доработки. Если нужно еще плавнее, то в .flipster--wheel .flipster__container, .flipster--wheel .flipster__item__content меняешь скорость прокрутки, а в .flipster__item--current .item-city скорость смены кадров.

var carousel = $("#carousel-sl").flipster({
    loop: false,
    start: 'center',
    style: 'wheel',
    spacing: -0.56,
    scrollwheel: false,
    buttons: false,
    fadeIn: 800
  });
/*Добавлено*/
.flipster--wheel .flipster__container, .flipster--wheel .flipster__item__content {
    -webkit-transition: all 700ms ease-in-out!important; 
    -o-transition: all 700ms ease-in-out!important;
    transition: all 700ms ease-in-out!important;
}
/*************************************************************/

.slider-outer-wrap__new {
  width: 100%;
}

.flipster__item--current .item-city {
  -webkit-transition: all 350ms ease-in-out!important; /*Добавлено*/
    -o-transition: all 350ms ease-in-out!important; /*Добавлено*/
    transition: all 350ms ease-in-out!important; /*Добавлено*/
  color: #72BD77;
}

.flipster--wheel .flipster__item__content {
  transform: rotateZ(0deg) translate(0%, 0%) !important;
  width: 150px;
}

.flipster__container {
  height: 95px !important;
  text-align: center;
}

.flipster__item--past .item-city {
  color: #999BA5;
  line-height: 22px;
  text-align: center;
  font-size: 16px;
  opacity: 0.5;
  transform: rotateZ(-0deg) translate(0%, 100%) !important;
}

.flipster__item--future .item-city {
  color: #999BA5;
  line-height: 22px;
  text-align: center;
  font-size: 16px;
  transform: rotateZ(-0deg) translate(0%, 100%) !important;
  opacity: 0.5;
}

.flipster__item--past-2 .item-city {
  transform: rotateZ(-0deg) translate(0%, 170%) !important;
  font-size: 14px !important;
  font-weight: 400;
  opacity: 0.4;
}

.flipster__item--future-2 .item-city {
  transform: rotateZ(-0deg) translate(0%, 170%) !important;
  font-size: 14px !important;
  font-weight: 400;
  opacity: 0.4;
}

.flipster__item--future-3 {
  transform: rotateZ(-0deg) translate(0%, 107%) !important;
}

.flipster__item--past-3 {
  transform: rotateZ(-0deg) translate(0%, 107%) !important;
}

.flipster__item--future {
  opacity: 1 !important;
}


/* стили для текста */

.gallery-box {
  display: block;
  position: relative;
  margin-top: 48px;
}

.slider-outer-wrap {
  max-width: 400px;
  margin: 0 auto;
  position: relative;
}

.slider-outer-wrap__new {
  width: 100%;
}

.cityes-wrap {
        position: relative;
        line-height: 1;
    }
  
  a {
    text-decoration: none;  
  }
  
  .item-city {
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  color: #72BD77;
  font-weight: 500;
  font-size: 24px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.flipster.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.flipster.min.js"></script>

<div class="gallery-box">
  <div class="slider-outer-wrap slider-outer-wrap__new">
    <div id="carousel-sl">
      <div class="cityes-wrap">
        <ul>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
          <li>
            <div class="sl-item">
              <a href="" class="item-city">
                <span class="city-title">Нью-Йорк</span>
              </a>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

Answered by s.kuznetsov on January 1, 2022

Add your own answers!

Related Questions

fetch данных в select react

1  Asked on January 20, 2021 by max-akinshin

     

Почему отстает state? React

2  Asked on January 19, 2021 by bazmexes

   

Вопрос по метаклассам

1  Asked on January 18, 2021 by user364464

   

GULP создание 2 файлов

2  Asked on January 18, 2021 by casket

 

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP