Как я могу пройти через анимацию TimelineMax? - PullRequest
0 голосов
/ 28 сентября 2018

Я использую TimelineMax от Greensock для анимации элементов в цикле:

var elems = $('.section_elems');
var elem1 = elems[0];
var elemInit1 = new TimelineMax({
  repeat: -1,
  yoyo: true,
  delay: 1
});
elemInit1.set(elem1, {
  opacity: '0.4'
});
elemInit1.to(elem1, 1, {
  opacity: '1'
});
var elem2 = elems[1];
var elemInit2 = new TimelineMax({
   repeat: -1,
  yoyo: true,
  delay: 1.5
});
elemInit2.set(elem2, {
  opacity: '1'
});
elemInit2.to(elem2, 0.5, {
  opacity: '0.4'
});

Я хочу привести это в порядок больше, так как он используется много раз.Я написал цикл, чтобы попытаться выплюнуть его, но получаю ошибку «Uncaught Cannot tween a null target».

Мой цикл выглядел примерно так:

var elems = $('.section_elems');
var elemsNum = elems.length;
for (let i = 1; i <= elemsNum + 1; i++) {
var elemTimeline = new TimelineMax({
  repeat: -1,
  yoyo: true,
  delay: 1
});
var animTiming = Math.floor(Math.random() * 3) + 1;
elemTimeline.set(elems[i - 1], {
   opacity: '1'
});
elemTimeline.to(elems[i - 1], animTiming, {
  opacity: '0.5'
});
elemTimeline.to(elems[i - 1], animTiming, {
  opacity: '0.8'
});
}
...