GSAP Tweenlite 补间不会缓和
GSAP Tweenlite tweens will not ease
我正在使用 GSAP 构建动画横幅,基本动画效果很好,但补间不会缓动,并且在添加更多缓动语句(如弹跳)时将完全停止运行。
我正在使用这段代码来制作所有东西的动画。
<script type="text/javascript" src="js/TweenLite.min.js"></script>
<script type="text/javascript" src="js/CSSPlugin.min.js"></script>
<script>
window.onload = function(){
var logo = document.getElementById("logo");
TweenLite.to("#logo", 1, {left:"90px"});
TweenLite.from("#container", 0.50, {left:"-400px",opacity:0,delay:1});
TweenLite.from("#control", 1, {scale:0,opacity:0,delay:2});
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut,});
}
</script>
我错过了什么吗?真让我沮丧。
我看到两个问题:
1) 你的ease后面多了一个逗号:
//BAD:
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut,});
//GOOD:
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut});
2) Bounce ease 不在核心 TweenLite 文件中 - 您需要加载 EasePack 或仅加载 TweenMax(其中包括 TweenLite、CSSPlugin、EasePack 和许多其他内容)。如果您担心文件大小,这应该不是问题,因为 TweenMax 已列入每个主要广告网络的白名单(这意味着它的文件大小是免费的),而且它可能是网络广告中缓存最广泛的文件。
小提示:如果您还没有尝试过 TimelineLite 或 TimelineMax 工具(也是 GSAP 的一部分),您会爱上它们,尤其是在广告方面。它们会让您更轻松地管理您的时间和实验,并在您工作时跳到动画的不同部分。您的代码也可以更简洁:
window.onload = function(){
var tl = new TimelineLite();
tl.to("#logo", 1, {left:90})
.from("#container", 0.5, {left:-400, opacity:0})
.from("#control", 1, {scale:0, opacity:0}, "+=0.5")
.from("#cta", 0.15, {scale:0, opacity:0, ease: Bounce.easeOut}, "+=1.5");
}
现在您可以调整任何单个动画的时间,并且更改会级联到其余部分。就像您需要将第一个补间延长 0.5 秒一样,您不必再编辑后续补间的所有 "delay" 值。另外,现在您已经有了一个 TimelineLite 对象,您可以使用 pause()、seek()、reverse()、timeScale() 或任何您想要的对象。它将为您开启全新的工作流程可能性。
您可能会感兴趣:
https://greensock.com/position-parameter
https://greensock.com/sequence-video
另外请记住,https://greensock.com/forums 的论坛中有一个很棒的社区,致力于帮助解决特定于 GSAP 的问题。
补间快乐!
我正在使用 GSAP 构建动画横幅,基本动画效果很好,但补间不会缓动,并且在添加更多缓动语句(如弹跳)时将完全停止运行。
我正在使用这段代码来制作所有东西的动画。
<script type="text/javascript" src="js/TweenLite.min.js"></script>
<script type="text/javascript" src="js/CSSPlugin.min.js"></script>
<script>
window.onload = function(){
var logo = document.getElementById("logo");
TweenLite.to("#logo", 1, {left:"90px"});
TweenLite.from("#container", 0.50, {left:"-400px",opacity:0,delay:1});
TweenLite.from("#control", 1, {scale:0,opacity:0,delay:2});
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut,});
}
</script>
我错过了什么吗?真让我沮丧。
我看到两个问题:
1) 你的ease后面多了一个逗号:
//BAD:
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut,});
//GOOD:
TweenLite.from("#cta", 0.15, {scale:0,opacity:0,delay:3.5,ease: Bounce.easeOut});
2) Bounce ease 不在核心 TweenLite 文件中 - 您需要加载 EasePack 或仅加载 TweenMax(其中包括 TweenLite、CSSPlugin、EasePack 和许多其他内容)。如果您担心文件大小,这应该不是问题,因为 TweenMax 已列入每个主要广告网络的白名单(这意味着它的文件大小是免费的),而且它可能是网络广告中缓存最广泛的文件。
小提示:如果您还没有尝试过 TimelineLite 或 TimelineMax 工具(也是 GSAP 的一部分),您会爱上它们,尤其是在广告方面。它们会让您更轻松地管理您的时间和实验,并在您工作时跳到动画的不同部分。您的代码也可以更简洁:
window.onload = function(){
var tl = new TimelineLite();
tl.to("#logo", 1, {left:90})
.from("#container", 0.5, {left:-400, opacity:0})
.from("#control", 1, {scale:0, opacity:0}, "+=0.5")
.from("#cta", 0.15, {scale:0, opacity:0, ease: Bounce.easeOut}, "+=1.5");
}
现在您可以调整任何单个动画的时间,并且更改会级联到其余部分。就像您需要将第一个补间延长 0.5 秒一样,您不必再编辑后续补间的所有 "delay" 值。另外,现在您已经有了一个 TimelineLite 对象,您可以使用 pause()、seek()、reverse()、timeScale() 或任何您想要的对象。它将为您开启全新的工作流程可能性。
您可能会感兴趣: https://greensock.com/position-parameter https://greensock.com/sequence-video
另外请记住,https://greensock.com/forums 的论坛中有一个很棒的社区,致力于帮助解决特定于 GSAP 的问题。
补间快乐!