【发布时间】:2018-01-25 10:48:42
【问题描述】:
我遇到了这个问题。我在 react 项目中使用 GSAP 来做一些复杂的动画。我想问一下,每当组件重新渲染时,如何清除应用在 DOM 上的样式。它仍然保持旧状态,即 tl.reverse()。我再次将其设置为 Null 并重新定义,但我不起作用。我也是新来的反应。下面是代码。希望有人能帮忙
componentDidMount () {
this.menu_init()
this.cta_animation_init()
// this.cta_animation_active()
this.hover_effect()
$(window).on('scroll', function () {
var t = $(window).scrollTop()
if ((t > 0 && self.state.currentPos < t) || (t > self.state.min_height && self.state.currentPos > t) || $(window).width() <= 1020) {
self.menu_scroll()
} else {
self.menu_scrolling()
}
self.state.currentPos = t
})
}
componentWillUnmount()
{
}
menu_init () {
const tl = new TimelineMax({paused: true});
tl.to('.top-nav', 0.3, {y: '-165px', ease: Power0.easeNone})
.to('.burger-nav-bg, .burger-nav-button', 0.1, {opacity: 1, scale: 1}, '-=.3')
.staggerTo('.burger-nav-bar', 0.1, {left: '13px'}, '-=.1')
this.setState({tl:tl})
}
menu_scroll () {
this.state.tl.play()
}
menu_scrolling () {
this.state.tl.reverse()
}
【问题讨论】:
标签: javascript reactjs gsap