如何遍历TimelineMax补间?

时间:2018-09-28 15:44:01

标签: javascript jquery timelinemax

我正在使用Greensock的TimelineMax为循环中的元素设置动画:

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'
});

由于要使用很多次,因此我想对其进行整理。我编写了一个循环尝试将其吐出,但出现了“无法捕捉到的空目标之间的错误”错误。

我的循环看起来像这样:

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'
});
}

0 个答案:

没有答案