我想搬東西bottom: +/- 100px
。試圖爲單身人士使用ReactCSSTransitionGroup
因此,當聚焦時,它會滑落。當不專心時,它會滑落下來。
我創造了這個陣營render()
:
var component = (
<div key={"trayResponder_" + this.props.trayOpen} >
</div>
);
return(
<ReactCSSTransitionGroup transitionName="tray-responder">
{component}
</ReactCSSTransitionGroup>
);
然後我切換它的key
狀態,通過更新this.props.trayOpen
然後我少即是這樣的:
.tray-responder-enter {
}
.tray-responder-enter-active {
.animation(slideUp 1s ease infinite)
}
.tray-responder-leave {
}
.tray-responder-leave-active {
.animation(slideDown 1s ease infinite)
}
.keyframes(slideUp;{
0% {transform: translateY(100%);}
50% {transform: translateY(-8%);}
65% {transform: translateY(4%);}
80% {transform: translateY(-4%);}
95% {transform: translateY(2%);}
100% {transform: translateY(0%);}
});
.keyframes(slideDown;{
0% {transform: translateY(-100%);}
50%{transform: translateY(8%);}
65%{transform: translateY(-4%);}
80%{transform: translateY(4%);}
95%{transform: translateY(-2%);}
100% {transform: translateY(0%);}
});
哪採用從animation.less
:
.keyframes(@name; @arguments) {
@-moz-keyframes @name { @arguments(); }
@-webkit-keyframes @name { @arguments(); }
@keyframes @name { @arguments(); }
}
.animation(@arguments) {
-webkit-animation: @arguments;
-moz-animation: @arguments;
animation: @arguments;
}
不幸的是,這似乎並不奏效。沒有發生。沒有動畫。不知道爲什麼。
更新
與ReactCSSTransitionGroup麻煩的是,enter-active
和leave-active
同時發生。如果您切換不透明度,這似乎不成問題。但是如果你像我一樣上下移動,那麼你就可以同時看到兩者。
正如在這裏看到:
你有沒有嘗試設置transitionEnterTimeout和transitionLeaveTimeout? –
@UG啊這絕對是朝着正確方向邁出的一步。我可能會從這裏弄清楚。 – Trip