在我的应用程序中,我正在尝试使用GSAP的TweenMax/TimelineMax库来动画化更改,但是我在代码早期遇到了错误。简化后(这是一个使用ES6的React/Redux应用程序):
这些错误很奇怪。首先,如果我不用对象初始化TimelineMax -- 像
import TimelineMax from 'gsap';
import TweenMax from 'gsap';
import GSAP from 'gsap-react-plugin';
import ReactDOM from 'react-dom';
someFunction() {
var mailboxDropdown = ReactDOM.findDOMNode( this.refs.mailboxDropdown );
// TweenLite.to(this, 0.1, { "y-offset": '-50px', 'opacity' : 0 });
console.log(mailboxDropdown)
var tl = new TimelineMax();
console.log('here');
tl.to(mailboxDropdown, 0.4, { "y-offset": '-50px' }, 'slideUp' )
tl.to(mailboxDropdown, 1, { opacity: 0 }, 'slideUp-=.5');
};
这些错误很奇怪。首先,如果我不用对象初始化TimelineMax -- 像
new TimelineMax({repeat: 1})
这样 -- (尽管文档说它的默认构造函数参数是null
),它在甚至到达console.log('here')
之前就会抛出错误。
未捕获的无法补间空目标。
如果我像上一句话那样使用对象进行初始化,则在尝试调用tl.to
时会出现错误。具体来说:
Uncaught TypeError: tl.to不是一个函数
即使to
在文档中明确存在。 tl
对象似乎是一个TweenMax
对象:
TweenMax {vars: Object, _totalDuration: 0, _duration: 0, _delay: 0, _timeScale: 1…}
但它没有响应大多数方法,包括add
和许多其他方法。
你知道这里发生了什么吗?对我来说非常困惑,因为所有文档/教程似乎都表明我所做的是正确的,而且所有相关的对象(mailboxDropdown
等)似乎都被正确定义。