Це насправді досить просто зробити. Все, що вам потрібно зробити, це змінити css.
Ось скрипка з дуже простою анімацією затухання: http://jsfiddle.net/elthrasher/sNpjH/
Щоб перетворити його на ковзну анімацію, мені спочатку довелося помістити свій елемент у вікно (це слайд-контейнер), потім я додав інший елемент, щоб замінити той, що залишався, лише тому, що я думав, що це буде виглядати гарно. Дістаньте, і приклад все одно буде працювати.
Я змінив css анімації з "зникати" на "слайд", але зауважте, що це я назвав. Я міг би написати слайд-анімацію css з назвою 'зникати' або щось інше з цього приводу.
Важливою є те, що в CSS. Ось оригінальний cade:
.fade-hide, .fade-show {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}
.fade-hide {
opacity:1;
}
.fade-hide.fade-hide-active {
opacity:0;
}
.fade-show {
opacity:0;
}
.fade-show.fade-show-active {
opacity:1;
}
Цей код змінює непрозорість елемента з 0 (повністю прозорий) на 1 (повністю непрозорий) і назад. Рішення полягає в тому, щоб залишити непрозорість наодинці і замість цього змінити верхню (або ліву, якщо ви хочете рухатись ліворуч-праворуч).
.slide-hide, .slide-show {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
}
.slide-hide {
position: relative;
top: 0;
}
.slide-hide.slide-hide-active {
position: absolute;
top: -100px;
}
.slide-show {
position: absolute;
top: 100px;
}
.slide-show.slide-show-active {
position: relative;
top: 0px;
}
Я також переходжу з відносного на абсолютне позиціонування, тому лише один із елементів займає місце в контейнері одночасно.
Ось готовий продукт: http://jsfiddle.net/elthrasher/Uz2Dk/ . Сподіваюся, це допомагає!