这实际上很容易做到。您所要做的就是更改CSS。
这是一个带有非常简单的淡入淡出动画的小提琴:http : //jsfiddle.net/elthrasher/sNpjH/
为了使其成为滑动动画,我首先必须将我的元素放在一个盒子(这是幻灯片容器)中,然后我添加了另一个元素来替换要离开的元素,只是因为我认为它看起来不错。删除它,该示例仍然有效。
我将动画CSS从“淡入淡出”更改为“幻灯片”,但请注意,这些是我给它命名的。我本来可以写一个名为“ fade”的幻灯片动画CSS或其他任何东西。
重要的部分是CSS中的内容。这是原始的“淡入淡出” css:
.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/。希望这可以帮助!