arc*_*ryx 2 javascript css3 reactjs reactcsstransitiongroup
我一直试图弄清楚如何在滚动时触发react css过渡组.假设我有一堆组件,这个例子被渲染出屏幕:
// component.jsx
import React from 'react'
import ReactCSSTransitionGroup from 'react-addons-css-transition-group'
import './style.css'
export default class extends React.Component {
constructor() {
super()
this.state = {
title: ['an off screen title']}
}
render() {
const displayText = this.state.title.map(i => <h1 key={i}>{i.title}</h1>)
return (
<ReactCSSTransitionGroup
transitionName='atxt'
transitionEnterTimeout={1000}
transitionLeaveTimeout={1000}>
{displayText}
</ReactCSSTransitionGroup>
)
}
}
Run Code Online (Sandbox Code Playgroud)
// style.css
.atxt-enter {
opacity: 0.01;
}
.atxt-enter.atxt-enter-active {
opacity: 1;
transition: opacity 1000ms ease-in;
}
.atxt-leave {
opacity: 1;
}
.atxt-leave.atxt-leave-active {
opacity: 0.01;
transition: opacity 1000ms ease-in;
}
Run Code Online (Sandbox Code Playgroud)
我希望转换组在进入View时触发,而不仅仅是在最初渲染组件时触发.我一直在考虑文档和探索预制的库/组件来实现这一点,但没有找到任何不涉及引入大型动画库的东西......我知道我的蛤蜊深处有一种方法可以做到这一点因此,在这里问专业人士.干杯你好.
小智 5
只是抛出一个想法:
滚动到特定元素时,使用https://github.com/brigade/react-waypoint将组件添加到DOM.
<Waypoint onEnter={this.handleWaypointEnter} onLeave={this.handleWaypointLeave}/>
在你的handleWaypointEnter
,你加入你<ReactCSSTransitionGroup>...</ReactCSSTransitionGroup>
的dom.这应该有效,根据它在进入dom时应用动画的文档.
归档时间: |
|
查看次数: |
1963 次 |
最近记录: |