【发布时间】:2021-08-16 13:43:13
【问题描述】:
我想在最后重复这个动画。重复();不适用于多个对象。它是使用 TweenMax (GSAP) 创建的。所有 div 都有 svg 图像,在 JS 中我为动画定义了 TweenMax.from 和 TweenMax.to。
TweenMax.from(".chat", 0.7, {x:0, opacity:0, scale:0.1, ease:Back.easeOut});
TweenMax.to(".chat", 0.7, {x:0, scale:0, ease:Power2.easeOut, delay:3})
TweenMax.from(".call", 0.7, {x:0, opacity:0, scale:0.1, ease:Back.easeOut, delay:3});
TweenMax.to(".call", 0.7, {x:0, scale:0, ease:Power2.easeOut, delay:6})
TweenMax.from(".whatsapp", 0.7, {x:0, opacity:0, scale:0.1, ease:Back.easeOut, delay:6});
TweenMax.to(".whatsapp", 0.7, {x:0, scale:0, ease:Power2.easeOut, delay:9})
.demo{
position: absolute;
top: 50%;
left: 50%;
}
.logo{
width: 66px;
}
.chat{
width: 31px;
margin: 17px;
}
.call{
width: 30px;
margin-top: 12px;
margin-left: 17px;
}
.whatsapp{
width: 35px;
margin-top: 14px;
margin-left: 17px;
}
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="demo"> <img class="logo" alt="circle" src="https://svgshare.com/i/7Ah.svg"/> </div>
<div class="demo"> <img class="chat" alt="chat" src="https://svgshare.com/i/798.svg"/> </div>
<div class="demo"> <img class="call" alt="call" src="https://svgshare.com/i/7B2.svg"/> </div>
<div class="demo"> <img class="whatsapp" alt="whatsapp" src="https://svgshare.com/i/7At.svg"/> </div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.0.1/TweenMax.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>
【问题讨论】:
-
您可以为任何补间添加“重复”,但如果您希望重复整个补间序列,请查看 TimelineMax。你会喜欢的。 greensock.com/docs/TimelineMax 这是一篇必读文章,可以彻底改变您的动画工作流程:css-tricks.com/writing-smarter-animation-code
标签: javascript gsap